从QDialog pyqt打开QMainwindow

时间:2018-10-01 12:33:38

标签: python pyqt qmainwindow

我有一个QDialog,它是一个登录窗口。 登录成功后,我想从QMainWindow类打开MainWindow。 我已经从QtDesigner生成的UI_file中继承了QMainWidnow。

更具体地说,我有以下内容:

login.py:

from PyQt4 import QtCore, QtGui
from main import ciras_main
class Ui_Dialog(object):
    def setupUi(self, Dialog):
    ....
    def retranslateUi(self, Dialog):
    ....
def welcomeWindowShow(self, username):
    self.welcomeWindow = QtGui.QMainWindow()
    self.ui = ciras_main(username)
    self.ui.setupUi(self.welcomeWindow, username)
    self.welcomeWindow.show()

ui_main.py:

from PyQt4 import QtCore, QtGui
class Ui_MainWindow(object):
    def setupUi(self, MainWindow, username):
    ...
    def retranslateUi(self, MainWindow):
    ...

我的主要班级继承自ui_main.py

from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import QDialog
from ui_main import *
class ciras_main(QtGui.QMainWindow, Ui_MainWindow):
    def __init__(self,username, parent=None):
        super(ciras_main, self).__init__(parent)
        self.setupUi(self, username)
        self.comboBox.activated.connect(self.selectProject)
        ...
    def selectProject(self):
        ...

问题如下。 登录成功后,将调用函数welcomeWindowShow()从类ciras_main打开我的Mainwindow。但是,它似乎仅加载ui_main.py,因为例如函数“ selectProject”(当我更改组合框时)不会执行任何操作。但是,如果我不通过login.py来执行主窗口,则一切正常。 我认为我的问题是连接welcomeWindowShow()函数打开主窗口。

是否知道为什么它不起作用? 非常感谢

0 个答案:

没有答案