qtdesigner를 이용하여 간단한 윈도우창을 만들겠습니다.
designer를 실행합니다.(실행파일이 어디있는지 모르시면, 아래 포스트를 참고하세요.)
2020/11/18 - [파이썬/PyQt5] - PyQt5 - qt designer 파일 위치
'Main Window'를 선택한 다음 '생성(R)' 버튼을 클릭합니다.
왼쪽 메뉴에서 'Push Button' 과 'Line Edit'을 Drag & Drop 해서 위의 그림과 같이 만듭니다.
저장을 하시면 되는데, 저는 바탕화면에 저장했습니다.
이제 코드를 작성하시고 연결하면 됩니다.
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
필요한 모듈을 가져옵니다.
form_class = uic.loadUiType(r'C:\Users\passi\Desktop\TestWindow.ui')[0]
저장한 ui의 경로를 설정해서 'form_class'로 저장합니다.
class MyWindow(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.click_button)
MyWindow라는 클래스를 만들고, QMainWindow와 form_class를 상속 받습니다.
self.setupUi(self)로 UI를 불러옵니다. 그리고 pushButton을 연결합니다.
def click_button(self):
exist_lineEdit = self.lineEdit.text()
self.lineEdit.setText(exist_lineEdit + self.pushButton.text())
버튼을 누르면 라인에딧에 버튼에 적혀 있는 글자가 연속적으로 나타나게 하는 함수입니다.
if __name__=='__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
app.exec_()
메인으로 만듭니다.
전체 코드는 아래와 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
form_class = uic.loadUiType(r'C:\Users\passi\Desktop\TestWindow.ui')[0]
class MyWindow(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.click_button)
def click_button(self):
exist_lineEdit = self.lineEdit.text()
self.lineEdit.setText(exist_lineEdit + self.pushButton.text())
if __name__=='__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
app.exec_()
|
cs |
아래는 실행화면입니다.
'파이썬(Python) > 파이썬 GUI(PyQt5 & tkinter)' 카테고리의 다른 글
tkinter - 윈도우 창 만들기 (0) | 2021.10.02 |
---|---|
PyQt5 - (Qt designer) QFileDialog 를 이용하여 여러파일 이름 출력 (0) | 2020.12.17 |
PyQt5 - QFileDialog(파일선택 창 열기) (0) | 2020.12.15 |
PyQt5 - QTableWidget(테이블 위젯) 사용하기 2 (0) | 2020.12.14 |
PyQt5 - QTableWidget(테이블 위젯) 사용하기 (0) | 2020.12.13 |
댓글