5월, 2021의 게시물 표시

Qt Mouse Wheel Event 처리하기

이미지
개요  이번 시간에는 다양한 곳에서 사용되는 마우스 휠 이벤트 (Wheel Event) 를 Python +PyQt5 에서 어떻게 감지하고 활용하는지 살펴보겠습니다.   마우스 휠 이벤트가 필요한 대표적인 경우는 다음과 같습니다. 화면 이동, 웹페이지 업, 다운 처리 이미지 줌인, 줌 아웃    먼저 완성된 결과물을 먼저 살펴보면 아래와 같습니다. [마우스 휠 이벤트 처리]   아래와 같은 순서로 진행됩니다. 1. 빈 위젯을 하나 생성 2. Ctrl 키 눌러진 상태에서 휠 이벤트가 발생 (줌인, 아웃으로 처리) 3. Ctrl 키 떨어진 상태에서 휠 이벤트가 발생 (일반적인 스크롤로 처리) 4. 휠 이벤트 발생시 Ctrl 키 여부를 감지, 각 변수에 저장 후 출력 사실 줌 이나 일반스크롤 로 처리하나 둘 다 개념은 같지만 줌의 경우는 휠 이벤트시(Ctrl O) 1씩 변화량을 가져가고 스크롤(Ctrl X) 은 좀 더 변화량이 크게 적용해 보았습니다. 개발 환경  Windows 10 Pro 64bit Python 3.8.8 64bit, Pycharm 2021.1 PyQt 5.15.3 소스코드 from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtGui import QPainter, QFont from PyQt5.QtCore import Qt, QPointF import sys QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True) class Form(QWidget): def __init__(self): super().__init__() self.setW

파이썬의 오류처리 방식

이미지
 오늘은 파이썬의 오류처리구문 (Try...) 에 대해 살펴보고자 합니다.  프로그래밍을 하다보면 다양한 오류들을 만나게되는데, 이때 적절한 오류처리구문이 없다면 런타임 (실행시간) 오류 로 이어지게 되고 이는 소프트웨어의 결함 이라 볼 수 있습니다. 특히 상업적인 목적의 코드라면 절대 런타임 오류는 피해야 하겠죠. [이미지 출처 : Pixabay, mohamed hassan ] 정상적인 형변환의 경우 예를 들면 두 수를 입력받아 사칙연산을 수행하는 코드를 아래와 같이 작성하고, x = int( input('Input number:') ) y = int( input('Input number:') ) print(x, '+', y, '=', x + y) print(x, '-', y, '=', x - y) print(x, '*', y, '=', x * y) print(x, '/', y, '=', x / y) 아래와 같이 숫자 를 정상적으로 입력하면 결과는 다음과 같습니다. Input number:5 Input number:2 5 + 2 = 7 5 - 2 = 3 5 * 2 = 10 5 / 2 = 2.5

이 블로그의 인기 게시물

Qt Designer 설치하기

PyQt5 기반 동영상 플레이어앱 만들기