파이썬을 접한지 얼마 안되고 본 프로젝트를 시작한 뒤 얼마안되 작은 문제에 봉착하였습니다. 스레드의 사용이 필요해진 것입니다. 바로 다음과 같은 이유 때문입니다. pygame은 메인스레드에선 작동하게끔 되어 있습니다. 물론 메인스레드에서 pygame을 수행하면서 소켓작업(send,recv)까지 해도 되긴 하겠지만 그래픽작업에 있어 중간에 소켓작업까지 겹친다면 원하는 속도를 보장할 수 없을거라 생각하였습니다. 때문에 threading을 상속받아 소켓을 select형태의 non-blocking형식으로 설계하여 프로젝트를 진행하려 했습니다. (non-blocking으로 한다면 recv에서 자원을 선점하지 않을테니 메인스레드 하나로도 게임 실행에 문제는 없을것입니다) 하지만 어느정도 구현이 진척되고 테스트를 해..
GUI에 event 거는것에 2틀은 소요한것 같습니다 (물론 내내 한건 아니지만) 해외사이트나 국내사이트에서 설명하고 있는 PyQt의 이벤트 설명대로 connect를 이용하려 했지만 왜 그런지 제가 하면 이를 쓸수 없더군요; 그렇게 한참을 찾아 헤매다 겨우 방법을 발견하였습니다. 우선, 이전 게시글대로 pyqt와 desginer를 이용하면 gui를 띄울 수 있는 클래스가 생성됩니다. 이를 이용해서 그대로 설명을 이어가겠습니다. 우선 QPushButton을 상속받는 클래스를 만든다음 초기화를 위해 __init__매서드를 생성하시고 중요한건 이벤트를 위한 매서드를 만드는 겁니다. 아직 파이썬을 공부중이라 정확하진 않지만 오버라이딩을 하거나 abstract method를 구체화 하는것 같습니다. vs 기준으로..
- Total
- Today
- Yesterday
- 중국여행
- compile
- 드럼
- Algorithm
- 문자열
- 악보
- regex
- 이루마
- C language
- 여행
- C++
- 코드잼
- link
- printf
- Codejam
- 카카오 공채
- python
- kernerl
- linux
- 사천
- STL
- 정규표현식
- peram jam
- Spring
- Pointer
- 알고리즘
- cpp
- 중국
- 피아노
- yiruma
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |