일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- html
- pandas
- pythongui
- git
- 파이썬
- VBA
- 파이썬GUI
- 문자열
- 파이썬3
- python
- 윈도우11
- windows
- 파워포인트
- matlab
- pyqt5
- Outlook
- 안드로이드
- 비주얼베이직
- office
- Android
- 아웃룩
- Windows11
- 엑셀
- python3
- 깃
- win32com
- 오피스
- 윈도우10
- Excel
- Windows10
Appia의 IT세상
파이썬[Python GUI, PyQt5 Tutorial 003] PyQt5 버튼(QPushButton) 만들기 본문
파이썬[Python GUI, PyQt5 Tutorial 003] PyQt5 버튼(QPushButton) 만들기
Appia 2020. 6. 9. 07:37파이썬[Python GUI, PyQt5 Tutorial 003] PyQt5 버튼(QPushButton) 만들기
앞선 포스팅에서는 간단히 PyQt를 이용하여 위젯 윈도우 창을 생성해보았습니다. 이번 포스팅은 앞선 포스팅에서 생성한 윈도우 창에 버튼을 생성해서 넣는 방법에 대해서 살펴보고자 합니다.
그럼 먼저 버튼을 생성하기 위해서는 다음 예시를 참조해보겠습니다.
<example>
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class QtGUI(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Appia Qt GUI")
button = QPushButton(self)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = QtGUI()
app.exec_()
|
cs |
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
그럼 간단히 위의 코드에서 앞선 포스팅과 다른 부분을 명시하겠습니다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
|
cs |
QPushButton 에 대해서 이전 포스팅의 코드에 추가해야 합니다. 버튼을 추가하기 위해서는 QPushButton 관련된 클래스를 받아와야 하기 떄문입니다.
def __init__(self):
super().__init__()
self.setWindowTitle("Appia Qt GUI")
button = QPushButton(self)
self.show()
|
cs |
상기 부분에서 QPushButton() 클래스를 선언하여 위의 위젯에 추가해주셔야 합니다. 그럼 위의 코드 몇가지 추가하는 하여 속성을 변경해보도록 하겠습니다.
먼저, 위의 버튼에서 Text를 추가하는 방법에 대해서 확인해보겠습니다. 그러기 위해서는 다음과 같은 메소드를 참조하셔야 합니다.
setText('button') |
그리고 버튼을 클릭하였을 경우, 상태가 변하는 것을 버튼을 통해 알 수 있게 하는 메소드를 확인해보겠습니다.
setCheckable(True/False) |
한번 클릭하면, 상태의 변화를 확인할 수가 있습니다. 그럼 코드 상에 한번 반영해서 살펴보겠습니다.
<example>
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class QtGUI(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Appia Qt GUI")
self.resize(300, 300) # 위젯 윈도우 창의 사이즈 변경
button = QPushButton(self)
button.setText("Button")
button.setCheckable(True)
button.move(10,10)
self.setWindowTitle("Appia Qt GUI")
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = QtGUI()
app.exec_()
|
cs |
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
만약 위의 화면에서 마우스로 버튼을 한번 클릭한다면 다음과 같이 버튼의 색깔이 변활 것입니다.
button.move(10,10)
|
cs |
위의 코드를 이용하여 윈도우 창에서 위치를 변경하였습니다.
그럼 이번에는 버튼을 여러개 생성해보도록 하겠습니다.
<example>
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class QtGUI(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Appia Qt GUI")
self.resize(300, 300)
button = QPushButton(self)
button.setText("Button")
button.setCheckable(True)
button.move(10,10)
button1 = QPushButton('Button1', self)
button1.move(10,40)
button2 = QPushButton('Button2', self)
button2.move(10, 40)
self.setWindowTitle("Appia Qt GUI")
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = QtGUI()
app.exec_()
|
cs |
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
총 button, button1, button2를 생성하였지만, 위의 윈도우 창에 표시되는 버튼의 갯수는 총 2개입니다. 그 이유는 move()을 살펴보면 알것입니다. 위에 명령어에서 보다시피, button1, button2의 move(10,40)로 중첩되어, 현재 button1이 생성하고 나서, 그 위에 button2가 표시된 것입니다. 위에서 button2.move(10,70)으로 변경하여 실행하면 다음과 같은 결과가 나옵니다.
위와 같이 여러개의 버튼들을 표현하고 생성할 수 있습니다.
이번 포스팅에서는 파이썬[Python GUI, PyQt5 Tutorial 003] PyQt5 버튼(QPushButton) 만들기라는 주제로 윈도우창에 버튼을 생성하는 방법에 대해서 살펴봤습니다. 참고로 이전 포스팅을 참고하시면 도움이 되실 것입니다.
파이썬[Python GUI, PyQt5 Tutorial 002] PyQt5 윈도우 창 띄우기/만들기
'Python > Python PyQt5 (GUI)' 카테고리의 다른 글
파이썬[Python GUI, PyQt5 Tutorial 006] PyQt5 라벨(QLabel)생성하기 - 텍스트 출력하기 (0) | 2020.06.15 |
---|---|
파이썬[Python GUI, PyQt5 Tutorial 005] PyQt5 버튼(QPushButton)의 클릭시 버튼 비활성화하기 (0) | 2020.06.13 |
파이썬[Python GUI, PyQt5 Tutorial 004] PyQt5 버튼(QPushButton)의 이벤트 연결 (5) | 2020.06.11 |
파이썬[Python GUI, PyQt5 Tutorial 002] PyQt5 윈도우 창 띄우기/만들기 (0) | 2020.06.07 |
파이썬[Python GUI, PyQt5 Tutorial 001] PyQt5 설치하기 (2) | 2020.06.05 |