如何创建多个/级联窗口 PyQt4?
Posted
技术标签:
【中文标题】如何创建多个/级联窗口 PyQt4?【英文标题】:How to create Multiple / cascading windows PyQt4? 【发布时间】:2016-12-26 16:40:59 【问题描述】:我想创建 2 个窗口,上面的一个需要是一个新的项目窗口,下面的一个是项目 GUI,我已经完全创建了我的下窗口,现在我正计划创建一个上窗口。如何创建我的上层(新项目窗口)?我可以通过在我的类中包含一个函数并从我的 run() 调用我的函数来做到这一点吗?还是我应该创建一个新课程?我完全糊涂了帮帮我!
我的下窗口(主项目代码)代码:
class Softw(QtGui.QMainWindow, Doftw.Ui_MainWindow):
def __init__(self, parent=None):
super(Softw, self).__init__(parent)
self.setGeometry(50, 50, 700, 565)
self.setWindowTitle("Softy Softw")
--------------
--------(代码中的一些函数)
最后是创建和调用类的 run() 函数
def run():
app=QtGui.QApplication(sys.argv)
GUI = Softw()
GUI.show()
sys.exit(app.exec_())
run()
如果我在课堂上执行新功能,窗口首先显示上部窗口然后消失,然后显示下部窗口:
def newProject(self):
window = QtGui.QWidget()
window.setGeometry(700,330,500,300)
window.setWindowTitle("New Project")
window.show()
我认为错误是何时调用该函数何时在此场景中添加我的函数调用?在 init 方法中?还是其他地方?
谢谢!
【问题讨论】:
你想要一个带有 2 个小部件的 gui,一个在另一个下面吗? 是的,这正是我想要的@eyllanesc 【参考方案1】:您可以使用 Qt Designer 为您想要的每个窗口创建 QWidget,然后您可以将它们作为一个类添加到您的文件中:
例如,您已经为要创建的一个窗口创建了 .ui 文件,然后使用 pyuic4 将其转换为 .py,然后创建您的类,如下所示:
from Ui_created import the UI_class
class NewProject(QtGui.QMainWindow, Ui_class):
def __init__(self, parent = None):
super(NewProject, self).__init__(parent)
self.setupUi(self)
现在您可以将它连接到主类中的某个按钮
【讨论】:
以上是关于如何创建多个/级联窗口 PyQt4?的主要内容,如果未能解决你的问题,请参考以下文章
PyQt4:如何使用保留空间制作undercorated窗口