我有一个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()函数打开主窗口。
是否知道为什么它不起作用? 非常感谢