- PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램
- 1. PyQt5 소개 (Introduction)
- 2. PyQt5 설치 (Installation)
- 3. PyQt5 기초 (Basics)
- 4. PyQt5 레이아웃 (Layout)
- 5. PyQt5 위젯 (Widget)
- QPushButton
- QLabel
- QCheckBox
- QRadioButton
- QComboBox
- QLineEdit
- QLineEdit (Advanced)
- QProgressBar
- QSlider & QDial
- QSplitter
- QGroupBox
- QTabWidget
- QTabWidget (Advanced)
- QPixmap
- QCalendarWidget
- QSpinBox
- QDoubleSpinBox
- QDateEdit
- QTimeEdit
- QDateTimeEdit
- QTextBrowser
- QTextBrowser (Advanced)
- QTextEdit
- QTableWidget
- QTableWidget (Advanced)
- 6. PyQt5 다이얼로그 (Dialog)
- 7. PyQt5 시그널과 슬롯 (Signal&Slot)
- 8. PyQt5 그림 그리기 (Updated)
- 9. PyQt5 실행파일 만들기 (PyInstaller)
- 10. PyQt5 프로그램 예제 (Updated)
- ▷ PDF ebook
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
연결하기¶
다이얼 위젯으로 조절한 값을 화면에 출력하는 프로그램을 만들어 보겠습니다.
다이얼의 값이 변할 때 발생하는 시그널이 LCD 화면에 숫자를 표시하는 슬롯과 연결됩니다.
예제¶
## Ex 7-1. 연결하기.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QDial, QVBoxLayout
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
lcd = QLCDNumber(self)
dial = QDial(self)
vbox = QVBoxLayout()
vbox.addWidget(lcd)
vbox.addWidget(dial)
self.setLayout(vbox)
dial.valueChanged.connect(lcd.display)
self.setWindowTitle('Signal and Slot')
self.setGeometry(300, 300, 200, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
다이얼을 움직이면 그 값에 맞춰서 LCD에 숫자가 표시됩니다.
설명¶
lcd = QLCDNumber(self)
dial = QDial(self)
QLCDNumber 위젯은 LCD 화면과 같이 숫자를 표시합니다.
QDial은 다이얼을 회전해서 값을 조절하는 위젯입니다.
vbox = QVBoxLayout()
vbox.addWidget(lcd)
vbox.addWidget(dial)
self.setLayout(vbox)
수직 박스 레이아웃 (박스 레이아웃 페이지 참고)을 하나 만들어서 QLCDNumber와 QDial 위젯을 넣어줍니다.
그리고 MyApp 위젯의 레이아웃으로 설정합니다.
dial.valueChanged.connect(lcd.display)
QDial 위젯은 몇 가지 시그널을 갖고 있습니다. (QSlider, QDial 페이지 참고)
여기서는 valueChanged 시그널을 lcd의 display 슬롯에 연결합니다. display 슬롯은 숫자를 받아서 QLCDNumber 위젯에 표시하는 역할을 합니다.
여기서 시그널을 보내는 객체인 송신자 (sender)는 dial, 시그널을 받는 객체인 수신자 (receiver)는 lcd입니다.
슬롯 (slot)은 시그널에 어떻게 반응할지를 구현한 메서드입니다.
이전글/다음글
다음글 : 이벤트 핸들러 만들기