Python 에서 PyQt 5 메 인 창 을 누 르 면 다른 창 을 팝 업 하 는 방법
이 중 주 창 은 새-Main Window 이 고,하위 창 은 Dialog 창 입 니 다.
두 창 은 같은 형식 일 수 없습니다.그렇지 않 으 면 무 너 집 니 다.
EyeTracking_main.ui
과 EyeTracking_process.ui
으로 저 장 됩 니 다.2.구동 함 수 를 써 서 두 개의 창 을 호출 합 니 다.
주 창 Eyetrkingmain.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(954, 530)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.toolButton = QtWidgets.QToolButton(self.centralwidget)
self.toolButton.setGeometry(QtCore.QRect(10, 40, 101, 25)) self.toolButton.setObjectName("toolButton")
...1234567891011
하위 창 Eyetrkingprocess.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(810, 474)
self.label_5 = QtWidgets.QLabel(Dialog)
self.label_5.setGeometry(QtCore.QRect(630, 90, 151, 151))
self.label_5.setObjectName("label_5")
self.label_2 = QtWidgets.QLabel(Dialog)
self.label_2.setGeometry(QtCore.QRect(250, 90, 171, 161))
self.label_2.setObjectName
("label_2")
...12345678910111213
구동 함수 이름 을 EyeTrackingui.py
from Eyetracking_main import *
from Eyetracking_process import *
from PyQt5.QtWidgets import QApplication,QMainWindow,QDialog
import sys
class parentWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.main_ui = Ui_MainWindow()
self.main_ui.setupUi(self)
class childWindow(QDialog):
def __init__(self):
QDialog.__init__(self)
self.child=Ui_Dialog()
self.child.setupUi(self)
if __name__=='__main__':
app=QApplication(sys.argv)
window=parentWindow()
child=childWindow()
# toolButton
btn=window.main_ui.toolButton
btn.clicked.connect(child.show)
#
window.show()
sys.exit(app.exec_())
다음 에 각 창 에서 작업 해 야 하기 때문에 주 창 과 하위 창 을 각각 parentWindow
과 childWindow
두 가지 유형 으로 예화 합 니 다.이 두 가지 유형 은 각각 QMainWindow 와 QDialog 의 부모 클래스 를 계승 합 니 다.
class parentWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)#QMainWindow
self.main_ui = Ui_MainWindow()#
self.main_ui.setupUi(self)
class childWindow(QDialog):
def __init__(self):
QDialog.__init__(self)
self.child=Ui_Dialog()#
self.child.setupUi(self)
뒤에 각각 두 개의 창 을 window 와 child 에 예화 합 니 다.
window=parentWindow()
child=childWindow()
정의 단 추 를 통 해 두 창 을 연결 합 니 다:
btn=window.main_ui.toolButton
btn.clicked.connect(child.show)
단 추 를 누 르 면 하위 창 이 표 시 됩 니 다.다음 그림 에서'눈동자 데이터 처리'를 클릭 하면 팝 업 처리 창 이 나타 납 니 다.
총결산
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 Python 에서 PyQt 5 가 메 인 창 을 클릭 하여 다른 창 을 팝 업 하 는 실현 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.