python搭建登陆界面
时间: 2025-02-14 18:47:17 浏览: 39
### 使用 Python 构建登录界面
Python 中有多个 GUI 框架可以选择来构建登录界面,其中最常用的是 Tkinter 和 PyQt。下面分别展示这两种框架下实现登录界面的方式。
#### 使用 Tkinter 创建登录界面
Tkinter 是 Python 的标准 GUI 工具包,简单易用,适合快速开发简单界面[^2]。以下是使用 Tkinter 实现的一个基本登录界面:
```python
import tkinter as tk
from tkinter import messagebox
def login():
username = entry_username.get()
password = entry_password.get()
if username == "admin" and password == "password":
messagebox.showinfo("Login", "Welcome, admin!")
else:
messagebox.showerror("Error", "Invalid credentials")
root = tk.Tk()
root.title("Login Form")
label_username = tk.Label(root, text="Username:")
label_username.pack(pady=5)
entry_username = tk.Entry(root)
entry_username.pack(pady=5)
label_password = tk.Label(root, text="Password:")
label_password.pack(pady=5)
entry_password = tk.Entry(root, show='*')
entry_password.pack(pady=5)
button_login = tk.Button(root, text="Login", command=login)
button_login.pack(pady=10)
root.mainloop()
```
这段代码定义了一个简单的窗口,包含用户名和密码输入框以及一个提交按钮。点击按钮会调用 `login` 函数验证用户身份并显示相应的消息对话框。
#### 使用 PyQt 创建登录界面
对于更复杂的应用场景,PyQt 可能是一个更好的选择。PyQt 基于 Qt 框架,提供超过 600 个类,能够创建专业级别的 GUI 应用程序[^4]。下面是利用 PyQt 设计相同功能的登录表单的例子:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QMessageBox
class LoginWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('Login')
layout = QVBoxLayout(self)
label_user = QLabel('Username:')
self.input_user = QLineEdit()
layout.addWidget(label_user)
layout.addWidget(self.input_user)
label_pass = QLabel('Password:')
self.input_pass = QLineEdit()
self.input_pass.setEchoMode(QLineEdit.Password)
layout.addWidget(label_pass)
layout.addWidget(self.input_pass)
btn_submit = QPushButton('Submit', clicked=self.check_credentials)
layout.addWidget(btn_submit)
def check_credentials(self):
user_text = self.input_user.text().strip()
pass_text = self.input_pass.text().strip()
if user_text == 'admin' and pass_text == 'password':
msg_box = QMessageBox.information(None, "Success", f"Welcome {user_text}")
else:
msg_box = QMessageBox.critical(None, "Failed", "Incorrect Username or Password")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = LoginWindow()
window.resize(300, 180)
window.show()
sys.exit(app.exec_())
```
此版本同样实现了相同的逻辑——收集用户的凭证信息并通过弹窗反馈认证结果;不过采用了更加丰富的组件库和布局管理器使得界面看起来更为精致一些。
阅读全文
相关推荐

















