pysidde5实现登录界面跳转
时间: 2023-10-04 20:12:41 浏览: 43
要实现登录界面跳转,你需要在登录成功后使用Qt中的QStackedWidget来实现页面切换。下面是一些基本的步骤:
1. 在Qt Designer中创建两个界面,一个是登录界面,一个是主界面。
2. 将两个界面添加到QStackedWidget中。
3. 在登录按钮的槽函数中,检查用户名和密码是否正确。如果正确,设置QStackedWidget中当前显示的页面为主界面。
下面是一个示例代码:
```python
from PySide2.QtWidgets import QApplication, QMainWindow, QStackedWidget, QWidget, QVBoxLayout, QLineEdit, QPushButton, QLabel
class LoginWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
layout = QVBoxLayout()
self.username_input = QLineEdit()
self.password_input = QLineEdit()
self.login_button = QPushButton('登录')
layout.addWidget(QLabel('用户名'))
layout.addWidget(self.username_input)
layout.addWidget(QLabel('密码'))
layout.addWidget(self.password_input)
layout.addWidget(self.login_button)
self.setLayout(layout)
class MainWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
layout = QVBoxLayout()
layout.addWidget(QLabel('欢迎使用'))
self.setLayout(layout)
class App(QMainWindow):
def __init__(self):
super().__init__()
self.stacked_widget = QStackedWidget()
self.login_widget = LoginWidget()
self.main_widget = MainWindow()
self.stacked_widget.addWidget(self.login_widget)
self.stacked_widget.addWidget(self.main_widget)
self.setCentralWidget(self.stacked_widget)
self.login_widget.login_button.clicked.connect(self.login)
def login(self):
username = self.login_widget.username_input.text()
password = self.login_widget.password_input.text()
if username == 'admin' and password == '123456':
self.stacked_widget.setCurrentWidget(self.main_widget)
if __name__ == '__main__':
app = QApplication([])
window = App()
window.show()
app.exec_()
```
在上面的代码中,我们首先创建了两个界面:登录界面(LoginWidget)和主界面(MainWindow)。然后我们使用QStackedWidget来管理这两个界面,将它们添加到其中。
在登录按钮的槽函数中,我们通过用户名和密码的验证来判断是否登录成功。如果成功,我们将当前显示的页面切换为主界面。