python的qt登录界面跳转主页面代码
时间: 2023-12-12 15:17:36 浏览: 29
以下是一个简单的示例代码,展示如何在QT中实现登录界面和主页面之间的跳转:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout, QMessageBox
class LoginWindow(QWidget):
def __init__(self):
super().__init__()
self.username_label = QLabel("Username:")
self.username_edit = QLineEdit()
self.password_label = QLabel("Password:")
self.password_edit = QLineEdit()
self.password_edit.setEchoMode(QLineEdit.Password)
self.login_button = QPushButton("Login")
self.login_button.clicked.connect(self.login)
vbox = QVBoxLayout()
hbox1 = QHBoxLayout()
hbox2 = QHBoxLayout()
hbox1.addWidget(self.username_label)
hbox1.addWidget(self.username_edit)
hbox2.addWidget(self.password_label)
hbox2.addWidget(self.password_edit)
vbox.addLayout(hbox1)
vbox.addLayout(hbox2)
vbox.addWidget(self.login_button)
self.setLayout(vbox)
self.setWindowTitle("Login")
def login(self):
# 假设正确的用户名和密码是 "admin" 和 "password"
if self.username_edit.text() == "admin" and self.password_edit.text() == "password":
self.close()
self.main_window = MainWindow()
self.main_window.show()
else:
QMessageBox.warning(self, "Error", "Incorrect username or password")
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.greeting_label = QLabel("Welcome to the main window!")
vbox = QVBoxLayout()
vbox.addWidget(self.greeting_label)
self.setLayout(vbox)
self.setWindowTitle("Main Window")
if __name__ == '__main__':
app = QApplication([])
login_window = LoginWindow()
login_window.show()
app.exec_()
```
这个示例中,`LoginWindow` 类表示登录界面,`MainWindow` 类表示主页面。当用户在登录界面中输入正确的用户名和密码并点击登录按钮时,程序将关闭登录界面并打开主页面。如果输入的用户名或密码不正确,程序将弹出一个警告对话框。