[ 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.18Python에서 문자열은 작은따옴표(') 또는 큰따옴표(")로 묶인 일련의 문자입니다. 문자열은 텍스트를 저장하고 조작하는 데 사용되며 Python에서 가장 많이 사용되는 데이터 유형 중 하나입니다. >>> a = 'this is a sentence' >>> a 'this is a sentence' >>> a = '123' >>> type(a) str >>> "Hello World" # 큰 따옴표로 감싸기 >>> 'Python is fun'# 작은 따옴표로 감싸기 >>> '''this is also a string''' # 작은 따옴표 3개를 연속으로 써서 감싸기 >>> """this is a string"""# 큰 따옴표 3개를 연속을 싸서 감싸기 문자열 연산 >>> 'let\'s ' + 'add th… -
[Python] 숫자형
[Python] 숫자형
2021.05.18정수 123, -345, 0 실수 123.45, -1234.5, 3.4e10 8진수 0o34, 0o25 16진수 0x2A, 0xFF 정수형(integer) >>> a = 123 >>> a 123 >>> type(a) int 실수형(floating-point) >>> a = 6.2 >>> a 6.2 >>> type(a) float # 실수형을 다음과 같이 컴퓨터식 지수 표현 방식(scientific notation)으로 표현가능 >>> a = 6.2e-23 # 6.2*10^-23를 의미 >>> a = 6.2E-23 # 위와 같음 복소수(complex) >>> a = complex(1, 3) >>> a (1+3j) >>> type(a) complex >>> a = 3-4j >>> a (3-4j) >>> ty… -
[ PyQt ] Signal & Slot
[ PyQt ] Signal & Slot
2021.01.301. Signal & Slot 이란? Signal 과 Slot은 객체 간 통신에 사용 Signal이 발생하면 Slot Function이 호출 (Ex. 버튼을 클릭하면 Text가 변경된다면 버튼을 클릭하는 이벤트가 Signal, Text가 변경되는 것이 Slot임) 2. Signal과 Slot의 연결 1) Qt에서 제공하는 Widget에는 각 Widget마다 다양한 Signal이 존재 clicked pressed released toggled … 2) Signal과 Slot은 connet라는 함수를 통해 연결 self.[widget_name].[signal].connect(slot) 3) 간단한 Signal은 Qt Designer 내에서 설정가능 4) Source -
Python 패키지 설치
Python 패키지 설치
2021.01.291. 패키지 확인 설치된 패키지를 확인하기 위해서 둘 중 하나 입력 ## 설치된 패키지를 출력 pip list ## 설치된 패키지를 requirements 포맷으로 출력 pip freeze 2. pip upgrade 아래와 같이 pip upgrade 안내가 나왔다면 pip 버전을 업데이트 하기 위하여 아래 명령 수행 pip install –upgrade pip PIP 버전이 업데이트 되면서 목록을 확인하는 방법이 변경되었다는 메시지가 출력 기존형식은 –format=legacy,변경된 형식은 –format=columns을 인자로 전달 3. pip install 새로운 패키지를 설치하기 위해서는 ‘pip install [pakage]’을 이용 pip install requests 특정 버전의 패키지 설치 p…
댓글을 사용할 수 없습니다.