[ PyQt ] Button Widget
반응형
1. QPushButton
def __init__(self): QWidget.__init__(self, flags=Qt.Widget) self.btn_push = QPushButton() self.edt_number = QLineEdit() self.layout = QBoxLayout(QBoxLayout.TopToBottom, self) self.setLayout(self.layout) self.init_widget()
1) Signals
- clicked(bool)
- pressed
- released
- toggled(bool)
def init_widget(self): self.setWindowTitle("QPushButton Shortcut") self.click_cnt = 0 self.edt_number.setText(str(self.click_cnt)) self.layout.addWidget(self.edt_number) self.btn_push.setText("더하기 단축키(Alt + F7)") self.btn_push.pressed.connect(self.buttonClicked) self.btn_push.setShortcut("Alt+F7") self.layout.addWidget(self.btn_push) def buttonClicked(self): self.click_cnt += 1 self.edt_number.setText(str(self.click_cnt))
2) Shortcut 설정 (단축키)
self.btn_push.setShortcut("Alt+F7")
3) Source
import sys from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QPushButton from PyQt5.QtWidgets import QBoxLayout from PyQt5.QtWidgets import QLineEdit from PyQt5.QtWidgets import QApplication from PyQt5.QtCore import Qt __appname__ = "QPushButton Widget" class QPushButtonWidgetForm(QWidget): def __init__(self): QWidget.__init__(self, flags=Qt.Widget) self.setWindowTitle(__appname__) self.btn_push = QPushButton() self.edt_number = QLineEdit() self.layout = QBoxLayout(QBoxLayout.TopToBottom, self) self.setLayout(self.layout) self.init_widget() def init_widget(self): self.setWindowTitle("QPushButton Shortcut") self.click_cnt = 0 self.edt_number.setText(str(self.click_cnt)) self.layout.addWidget(self.edt_number) self.btn_push.setText("더하기 단축키(Alt + F7)") self.btn_push.pressed.connect(self.buttonClicked) self.btn_push.setShortcut("Alt+F7") self.layout.addWidget(self.btn_push) def buttonClicked(self): self.click_cnt += 1 self.edt_number.setText(str(self.click_cnt)) if __name__ == "__main__": app = QApplication(sys.argv) form = QPushButtonWidgetForm() form.show() exit(app.exec_())
4) Result


2. QRadioButton
def __init__(self): QWidget.__init__(self, flags=Qt.Widget) self.setWindowTitle(__appname__) self.rb_1 = QRadioButton("Radio Button #1") self.rb_2 = QRadioButton("Radio Button #2") self.rb_3 = QRadioButton("Radio Button #3") self.rb_4 = QRadioButton("Radio Button #4") self.rb_5 = QRadioButton("Radio Button #5") self.layout = QBoxLayout(QBoxLayout.TopToBottom, self) self.layout.addWidget(self.rb_1) self.layout.addWidget(self.rb_2) self.layout.addWidget(self.rb_3) self.layout.addWidget(self.rb_4) self.layout.addWidget(self.rb_5) self.setLayout(self.layout)
1) Signals
- clicked(bool)
- pressed
- released
- toggled(bool)
2) Source
import sys from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QRadioButton from PyQt5.QtWidgets import QBoxLayout from PyQt5.QtWidgets import QApplication from PyQt5.QtCore import Qt __appname__ = "QRadioButton Widget" class QRadioButtonWidgetForm(QWidget): def __init__(self): QWidget.__init__(self, flags=Qt.Widget) self.setWindowTitle(__appname__) self.rb_1 = QRadioButton("Radio Button #1") self.rb_2 = QRadioButton("Radio Button #2") self.rb_3 = QRadioButton("Radio Button #3") self.rb_4 = QRadioButton("Radio Button #4") self.rb_5 = QRadioButton("Radio Button #5") self.layout = QBoxLayout(QBoxLayout.TopToBottom, self) self.layout.addWidget(self.rb_1) self.layout.addWidget(self.rb_2) self.layout.addWidget(self.rb_3) self.layout.addWidget(self.rb_4) self.layout.addWidget(self.rb_5) self.setLayout(self.layout) if __name__ == "__main__": app = QApplication(sys.argv) form = QRadioButtonWidgetForm() form.show() exit(app.exec_())
3) Result

3. QCheckBox
def __init__(self): QWidget.__init__(self, flags=Qt.Widget) self.setWindowTitle(__appname__) self.cb_1 = QCheckBox("CheckBox #1") self.cb_2 = QCheckBox("CheckBox #2") self.cb_3 = QCheckBox("CheckBox #3") self.cb_4 = QCheckBox("CheckBox #4") self.cb_5 = QCheckBox("CheckBox #5") self.layout = QBoxLayout(QBoxLayout.TopToBottom, self) self.layout.addWidget(self.cb_1) self.layout.addWidget(self.cb_2) self.layout.addWidget(self.cb_3) self.layout.addWidget(self.cb_4) self.layout.addWidget(self.cb_5) self.setLayout(self.layout)
1) Signals
- clicked(bool)
- pressed
- released
- toggled(bool)
- stateChanged(int)
2) Source
import sys from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QCheckBox from PyQt5.QtWidgets import QBoxLayout from PyQt5.QtWidgets import QApplication from PyQt5.QtCore import Qt __appname__ = "QCheckBox Widget" class QCheckBoxWidgetForm(QWidget): def __init__(self): QWidget.__init__(self, flags=Qt.Widget) self.setWindowTitle(__appname__) self.cb_1 = QCheckBox("CheckBox #1") self.cb_2 = QCheckBox("CheckBox #2") self.cb_3 = QCheckBox("CheckBox #3") self.cb_4 = QCheckBox("CheckBox #4") self.cb_5 = QCheckBox("CheckBox #5") self.layout = QBoxLayout(QBoxLayout.TopToBottom, self) self.layout.addWidget(self.cb_1) self.layout.addWidget(self.cb_2) self.layout.addWidget(self.cb_3) self.layout.addWidget(self.cb_4) self.layout.addWidget(self.cb_5) self.setLayout(self.layout) if __name__ == "__main__": app = QApplication(sys.argv) form = QCheckBoxWidgetForm() form.show() exit(app.exec_())
3) Result

반응형
'Tech & Development > Programming Languages' 카테고리의 다른 글
[Python] 자료형 - 문자열 (String) (0) | 2021.05.18 |
---|---|
[Python] 숫자형 (0) | 2021.05.18 |
[ PyQt ] Signal & Slot (0) | 2021.01.30 |
Python 패키지 설치 (0) | 2021.01.29 |
Markdown (마크다운) 문법 총정리 (4) | 2021.01.29 |
댓글
이 글 공유하기
다른 글
-
[Python] 자료형 - 문자열 (String)
[Python] 자료형 - 문자열 (String)
2021.05.18 -
[Python] 숫자형
[Python] 숫자형
2021.05.18 -
[ PyQt ] Signal & Slot
[ PyQt ] Signal & Slot
2021.01.30 -
Python 패키지 설치
Python 패키지 설치
2021.01.29
댓글을 사용할 수 없습니다.