메인 윈도우와 그 친구들에서 쓸 페인트

행동하는 개발자·2022년 10월 27일
0

PySide, PyQt

목록 보기
16/20

삼사각형과 원 그리기

NONE = 0
RECTANGLE = 1
TRIANGLE = 2
CIRCLE = 3

  1. self.shape = 클래스.NONE 을 설정한다. 이는 default 값을 설정해주기 위해서다. 처음 default 값은 아무 도형도 그려져 있지 않아야 하니까 NONE이다.

  2. self.color = Qt.blue 를 설정한다. 일단 그려진다면, 무슨 색으로든 그려져 있어야 하니 blue이다.

  3. 함수를 설정하는데, self.shape = 0, 1, 2, 3 설정하고 그에 따른 업데이트 함수를 실행한다. ShapeWidget.RECTANGLE은 0이다.

  4. mousePositionChanged는 시그널 데이터로, pos를 화면 상으로 emit한다.

  • setMousetracking :
    false -> 마우스 클릭시에만 마우스 이동 감지
    true -> 마우스 클릭 안해도 마우스 이동 감지

  • mousemoveevent:
    event.x, event.y -> 위젯 내의 마우스 좌표
    event.globalx, event.globaly -> 화면 내의 마우스 좌표

  1. r은 QRect로 self.shpe이 shapewidget.rectangle이면 painter <- QPainter(self)가 r을 drawRect한다.
  • class.constants를 설정할 수 있다.

  • qwigets 에 update란 명령어가 있다. 시그널 슬롯에 의한 변화를 부여하기 위해서는 update해야 한다.

  • qtglobalcolor로 열거형으로 미리 지정되어 있는 색상을 쓸 수 있다.

  • QColor(16진수) 로 원하는 색상을 사용할 수도 있다.

profile
끊임없이 뭔가를 남기는 사람

0개의 댓글