如何解决Pyqt5 信号和插槽
我在创建自定义信号并在类之间连接它们时遇到问题。
登录类
class LoginApp(Ui_Login_Win):
switch_window = QtCore.pyqtSignal()
def __init__(self):
self.window = QtWidgets.QDialog()
self.window.setFixedSize(348,389)
self.setupUi(self.window)
self.login_btn.clicked.connect(self.validate)
sys.exit(self.window.exec_())
def validate(self):
conn = sql.connect("stocks.db")
curr = conn.cursor()
find_user = 'SELECT username,password FROM admin WHERE username = ? AND password = ?'
curr.execute(find_user,(self.username_entry.text(),self.password_entry.text()))
if curr.fetchone() is not None:
msg = QtWidgets.QMessageBox()
msg.setIcon(QtWidgets.QMessageBox.information)
msg.setwindowTitle("Status")
msg.setText("Successful!")
msg.exec_()
self.switch_window.emit()
else:
msg = QtWidgets.QMessageBox()
msg.setIcon(QtWidgets.QMessageBox.Warning)
msg.setwindowTitle("Status")
msg.setText("Failed to Login!")
msg.exec_()
应用程序类(用于切换窗口)
class Application(QtCore.QObject):
def show_login(self):
self.login = LoginApp()
self.login.switch_window.connect(self.show_add)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。