我计划创建一个能够执行以下操作的程序:
administrator
和user
接口,将会有一个带有多个工具按钮的工具栏,可以创建一个新的对话窗口。目前我所拥有的程序结构是这样的一个类:
class MainWindow(QtGui.QMainWindow):
def__init__(self,parent=None):
------
def ShowLoginPage(self):
#this is the code to create login page GUI
----
----
button.clicked.connect(self.Process_login) # Submit button for username/password
def ShowAdminPage(self):
#this is the code to create admin page GUI
----
----
def ShowUserPage(self):
#this is the code to create user page GUI
----
----
def Process_login(self):
#this is the code to check if username is admin or user
if username in username_list:
self.ShowUserPage()
elif username in adminname_list:
self.ShowAdminPage()
ShowAdminPage
和ShowUserPage
方法实际上只是创建了两个不同的Central Widgets
并设置它们。
我的问题是。
答案 0 :(得分:1)
此代码适用于此功能,但不为admin和普通用户创建centralWidgets,只需使用QStackedWidget
即可。您可以在QtDesigner中设计QStackedWidget,并根据登录的用户以及用户从admin切换到普通用户以及从普通用户切换到admin用户,从QStackedWidget
显示相应的Widget,只需切换{{1}中的小部件即可}。
答案 1 :(得分:0)
我在其他模块(作为静态函数)中创建ShowLoginPage(self)
等函数,并将self
命名为mainwindow
。这样,我有很多模块因功能而异。