위치 및 크기를 지정해서 윈도우를 생성한 후 다시 위치를 변경하고 크기를 조정하는 방법과 일정 크기 이하 또는 이상으로 크기를 조정할 수 없게 하는 방법을 알아본다.
주요 코드
self.resize(350, 250)
self.move(300, 200)
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() 함수에서 전달한 인자