【发布时间】:2020-08-20 05:22:21
【问题描述】:
我正在使用 PyQt5 和 QtDesigner 设计窗口。我做了maindemo.py、maindemo.ui、mainfail.py、mainfail.ui。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton, QGraphicsView, QLabel, QMenuBar, QMenu, QStatusBar, QAction, qApp, QMessageBox
from PyQt5 import uic, QtCore
form_class = uic.loadUiType("maindemo.ui")[0]
class OpeningWindow(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.initUI()
def initUI(self):
self.setWindowTitle('Qomics')
self.btn_survival.setToolTip('Survival Analysis')
self.btn_drug.setToolTip('Drug Analysis')
self.btn_CRISPR.setToolTip('CRISPR Analysis')
self.btn_cellline.setToolTip('Cell Line')
self.btn_survival.clicked.connect(self.open_SurvivalMainWindow)
self.btn_drug.clicked.connect(self.open_DrugWindow)
self.btn_CRISPR.clicked.connect(self.open_sgRNAWindow)
self.btn_cellline.clicked.connect(self.open_CellLineWindow)
actionExit = QAction('&Exit', self)
actionExit.setShortcut('Ctrl+Q')
actionExit.setStatusTip('Exit Application')
actionExit.triggered.connect(qApp.quit)
self.statusBar().showMessage('abcd')
self.setGeometry(200, 100, 800, 530)
self.show()
def openSurvivalMainWindow(self):
open_SurvivalMainWindow = SurvivalMainWindow()
open_SurvivalMainWindow.show()
def openDrugWindow(self):
open_DrugWindow = DrugWindow()
open_DrugWindow.show()
def opensgRNAWindow(self):
open_sgRNAWindow = sgRNAWindow()
open_sgRNAWindow.show()
def openCellLineWindow(self):
open_CellLineWindow = scatterWindow()
open_CellLineWindow.show()
上面的代码是maindemo.py
我想要做的是点击btn_drug,btn_sgRNA,btn_cellline连接到新窗口(@987654326@,mainfail.ui)
只有btn_survival连接到真正的功能,其他按钮连接到mainfail窗口。
我尝试使用 if,else... 但我无法编写正确的代码.. 我写了一个代码,但它不起作用。
if openSurvivalMainWindow():
else:
openMainFailWindow.show()
【问题讨论】:
-
一个问题是您将按钮信号连接到
self.open_SurvivalMainWindow等名称中带有下划线,但实际方法的名称中没有下划线。