프로젝트 및 실습/PyQt 5

[PyQt] Ctrl + KeyPressEvent 사용법

KeyPressEvent 이벤트 핸들러를 사용하면 키보드 입력을 쉽게 받아와서 특정 기능을 수행하도록 구현할 수 있습니다. 그렇다면 [Ctrl + X]처럼 Ctrl 또는 Shif와 같은 버튼과 함께 키보드 입력을 받아오려면 어떻게 해야할까요? 아래는 Ctrl + 특정 Key를 눌렀을 때 이벤트가 실행되도록 하는 예제입니다. import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QWidget class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('KeyPressEvent..

[PyQt] Table Widget 열 너비를 Text 길이에 맞추기

Table Widget을 만들어 사용하다 보면 열 너비가 Text 길이보다 짧아 내용이 생략되는 경우가 종종 있습니다. 아래의 캡처와 같은 상황입니다. 2행 2열의 내용을 보면 "United States of America"라는 문자열을 넣어 주었는데, 기본 세팅된 테이블 열의 너비보다 문자열의 길이가 길어 생략되어 출력되는 것을 확인할 수 있습니다. 이러한 경우 단 한 가지 속성 값으로 쉽게 이를 해결할 수 있습니다. [QTableWidget].resizeColumnsToContents() 위의 코드를 붙여 넣기만 하면 자동으로 테이블 열의 너비를 문자열 중 가장 긴 텍스트에 맞춰줍니다. import sys from PyQt5.QtWidgets import * class MyApp(QWidget): d..

[PyQt] Checkbox StateChanged 시그널

Checkbox에 체크를 하거나 체크를 풀어줄 때 어떤 이벤트를 실행하고 싶다면 stateChanged 시그널을 사용할 수 있습니다. 바로 코드를 살펴보겠습니다. import sys from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox class MyApp(QWidget): def __init__(self): super().__init__() self.button1 = QCheckBox('Checkbox 1', self) self.button2 = QCheckBox('Checkbox 2', self) self.button3 = QCheckBox('Checkbox 3', self) self.checkbox_example() def checkbox_ex..

[PyQt] Tri-state Checkbox

일반적으로 체크박스를 사용하면 체크된 상태(True)와 체크되지 않은 상태(False) 두 가지를 많이 생각합니다. 하지만 PyQt에서는 아래의 사진과 같이 체크된 상태와 체크되지 않은 상태, 그리고 그 중간 상태까지 세 종류를 사용할 수 있습니다. 이를 세 가지 상태를 가지는 체크박스라 하여 Tri-state Checkbox라고 합니다. 일반적으로는 순서대로 Unchecked, Partially Checked, Checked라고 부릅니다. 예제 코드를 살펴보면서 사용법을 알아보겠습니다. import sys from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox class MyApp(QWidget): def __init__(self): super()...

[PyQt] Qt Designer 설치 및 실행 (in Pycharm)

Qt Designer란 위지위그 방식으로 UI 화면을 손쉽게 제작할 수 있도록 도와주는 프로그램입니다. 여기서 위지위그(WYSIWYG: What You See Is What You Get)란, 화면에 나오는 내용이 출력물에 그대로 나오는 방식을 말합니다. 이번 글에서는 Qt Designer를 설치하고 실행하는 법에 대해 알아보겠습니다. 우선 파이참에서 터미널을 열어줍니다. 터미널은 Pycharm 하단에서 [Terminal] 버튼을 클릭하면 열 수 있습니다. 이제 터미널에 아래의 명령어를 작성해줍니다. pip install pyqt5 pyqt 뒤에 숫자는 본인이 사용하고 싶은 PyQt의 버전을 작성하면 됩니다. 2022년 기준 가장 최신 버전은 PyQt6입니다. 엔터를 눌러 명령어를 실행하면 다음과 같이 ..