qtdesigner를 이용하여 간단한 윈도우창을 만들겠습니다.
designer를 실행합니다.(실행파일이 어디있는지 모르시면, 아래 포스트를 참고하세요.)
2020/11/18 - [파이썬/PyQt5] - PyQt5 - qt designer 파일 위치
PyQt5 - qt designer 파일 위치
아나콘다(Anaconda3)를 설치하고 나서 qt designer 위치를 찾느라 헤메었네요. 비전공자에다 40대 아저씨가 코딩을 시작하려고 하니 엄청 힘든점이 많네요. designer 위치는 아래 경로에 있습니다. Anaconda
dotsnlines.tistory.com
'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 |
댓글