从另一个类方法Python(和PyQt)调用变量
我需要一个变量来保存登录详细信息,我的所有类都在单独的文件中 第一个类是登录窗口,它将从数据库中获取用户名和密码从另一个类方法Python(和PyQt)调用变量,python,sql,pyqt,Python,Sql,Pyqt,我需要一个变量来保存登录详细信息,我的所有类都在单独的文件中 第一个类是登录窗口,它将从数据库中获取用户名和密码 LoginBtn.clicked.connect(self.CheckLogin) def CheckLogin(self): self.username = self.usernameLE.text() self.password = self.passwordLE.text() with sqlite3.connect("Account
LoginBtn.clicked.connect(self.CheckLogin)
def CheckLogin(self):
self.username = self.usernameLE.text()
self.password = self.passwordLE.text()
with sqlite3.connect("Accounts.db") as db:
cursor = db.cursor()
cursor.execute("SELECT * FROM Accounts WHERE Username=? ",(self.username,))
self.account = cursor.fetchone()
try:
if self.account[0] == self.username and self.account[1] == self.password:
if self.account[2] == 'Admin':
self.OpenSystem = CurrentLayoutAdmin()
self.OpenSystem.show()
self.hide()
elif self.account[2] == 'Manager':
self.departmentsave = self.account[2]
self.OpenManagerSystem = CurrentLayoutManager() #This goes to main menu and once a button is clicked it opens up another window. The one I need the variable for.
self.OpenManagerSystem.show()
self.hide()
else:
pass
else:
self.invalid_lbl.setVisible(True)
self.passwordLE.setText('')
except TypeError:
self.invalid_lbl.setVisible(True)
self.passwordLE.setText('')
我需要保存该部门的self.account[2]
def CreateTable(self):
accountdetails = LoginWindow()
accountdetails.CheckLogin()
print(accountdetails.departmentsave)
我不知道如何调用这个变量。您能在所示的方法中添加一个类属性吗:self.departmentsave=self.account[2]?对不起,我不完全理解您对python的新含义。我已经创建了这个变量,但是我不知道如何从另一个类调用它。我愚蠢地把class属性放在实际类的括号中,而不是_uinit_;如果你仍然需要帮助,你会像以前一样调用它。我不确定我是否理解这个问题,但如果您在CheckLogin方法中执行self.departmentsave=self.account[2],那么您只需执行以下操作:printcountdetails.departmentsave,它就会工作。如果我正确理解你的问题,我可以把上面的问题写在下面的答案中。