相关疑难解决方法(0)

替换MainWindow中的CentralWidget

我是PySide的新手.我有一个主窗口对象,一次显示一个小部件.我一直在尝试更改类的中央窗口小部件,QMainWindow以便在按下按钮时替换窗口中的可见窗口小部件.问题是按下的按钮是在Widget类中,而不是在主窗口类中.

说...

class App(QtGui.QMainWindow):

    def __init__(self):
        super(App, self).__init__()

        self.initUI()

    def initUI(self):

        self.statusBar().showMessage('Listo.') #Status Bar
        self.login_screen = LoginScreen()
        self.logged_in_screen = LoggedInScreen()

        self.setCentralWidget(self.login_screen)

        self.setGeometry(300, 300, 450, 600) #Window Size
        self.setWindowTitle('PyTransactio - Client') #Window Title
        self.setWindowIcon(QtGui.QIcon('icon.png')) #App Icon
        self.show()
Run Code Online (Sandbox Code Playgroud)

按下的按钮位于login_screen实例中.单击按钮时调用的方法位于LoginScreen类中:

def login(self):
        """ Send login data to the server in order to log in """

        #Process

        self.setParent(None)
Run Code Online (Sandbox Code Playgroud)

设置父窗口小部件以从主窗口中None删除窗口小部件(login_screen).logged_in_screen当按下loginButton(在login_screen窗口小部件内)时,我应该怎么做才能将另一个窗口小部件(例如)作为主窗口的中央窗口小部件?

也许登录方法应该在主窗口类中?如果是这样,我如何连接按下的按钮login_screen与主窗口的方法?

python user-interface pyqt pyside

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

pyqt ×1

pyside ×1

python ×1

user-interface ×1