python_winRisize()

ssancho·2024년 4월 24일

python

목록 보기
22/26

위치 및 크기를 지정해서 윈도우를 생성한 후 다시 위치를 변경하고 크기를 조정하는 방법과 일정 크기 이하 또는 이상으로 크기를 조정할 수 없게 하는 방법을 알아본다.

주요 코드

  1. resize 함수를 이용해서 윈도우 크기를 재조정한다. 이 함수에 넘겨 주는 파라미터는 (width, height)이다.

self.resize(350, 250)

  1. (x, y) 좌표를 move 함수 호출 시 전달하여 윈도우 위치를 변경한다.

self.move(300, 200)

  1. 윈도우 최소/최대 크기를 설정하여 윈도우가 일정 크기 이하/이상으로 조정될 수 없게 한다.

self.setMinimumSize(250, 150)
self.setMaximumSize(400, 300)

전체 코드

import sys, time
from PySide.QtGui import QApplication, QWidget, QIcon

class MyWidget(QWidget):
def init(self):
super(MyWidget, self).init()
self.setup_ui()

def setup_ui(self):
    # 윈도우 타이틀 설정
    self.setWindowTitle("Window Example")

    # 아이콘 설정
    appIcon = QIcon('pyside_logo.jpg')
    self.setWindowIcon(appIcon)

    # 윈도우 위치 및 크기 설정
    self.setGeometry(100, 50, 300, 200)

def edit_ui(self):
    # 윈도우 이동
    self.move(300, 200)

    # 윈도우 리사이즈
    self.resize(350, 250)

    # 최소 크기 및 최대 크기 설정
    self.setMinimumSize(250, 150)   
    self.setMaximumSize(400, 300)  

def main():
app = QApplication(sys.argv)
win = MyWidget()
win.show()

time.sleep(2)
win.edit_ui()

sys.exit(app.exec_())

if name == 'main':
main()

=============
cv2.setMouseCallback( win_name, onMouse [, param]) - onMouse 함수를 등록

입력 : win_name - 이벤트를 등록할 윈도 이름

    onMouse - 이벤트 처리를 위해 미리 선언해 놓은 콜백 함수

    param - 필요에 따라 onMouse 함수에 전달할 인자

MouseCallback( evnet, x, y, flags, param ) - 콜백 함수 선언부

입력 : event - 마우스 이벤트 종류, cv2.EVENT_로 시작하는 상수 (12가지)

            cv2.EVENT_MOUSEMOVE - 마우스 움직임

            cv2.EVENT_LBUTTONDOWN- 왼쪽 버튼 누름

            cv2.EVENT_RBUTTONDOWN- 오른쪽 버튼 누름

            cv2.EVENT_MBOTTONDOWN- 가운데 버튼 누름

            cv2.EVENT_LBOTTONUP- 왼쪽 버튼 뗌

            cv2.EVENT_RBOTTONUP- 오른쪽 버튼 뗌

            cv2.EVENT_MBOTTONUP- 가운데 버튼 뗌

            cv2.EVENT_LBOTTONBLUCK- 왼쪽 버튼 더블 클릭

            cv2.EVENT_RBOTTONBLUCK- 오른쪽 버튼 더블 클릭

            cv2.EVENT_MBOTTONBLUCK- 가운데 버튼 더블 클릭

            cv2.EVENT_MOUSEWHEEL - 휠 스크롤

            cv2.EVENT_MOUSEHWHEEL- 가로 휠 스크롤

 x, y - 마우스 좌표

 flags - 마우스 동작과 함께 일어난 상태, cv2.EVENT_FLAG_로 시작하는 상수 (6가지)

            cv2.EVENT_FLAGS_LBOTTON(1) - 왼쪽 버튼 누름

            cv2.EVENT_FLAGS_RBOTTON(2) - 오른쪽 버튼 누름

            cv2.EVENT_FLAGS_MBOTTON(4) - 가운데 버튼 누름

            cv2.EVENT_FLAGS_LCTRLKEY(8) - 컨트롤 버튼 누름

            cv2.EVENT_FLAGS_SHIFTKEY(16) - 쉬프트 버튼 누름

            cv2.EVENT_FLAGS_ALTKEY(32) - 알트 버튼 누름

 param - cv2.setMouseCallback() 함수에서 전달한 인자
profile
Ssancho

0개의 댓글