PyQt5设计一个炫酷的登录界面
时间: 2023-09-08 14:11:52 浏览: 48
下面是一个简单的炫酷登录界面的PyQt5代码示例:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QPushButton, QLabel, QVBoxLayout, QHBoxLayout
from PyQt5.QtGui import QFont, QPixmap
from PyQt5.QtCore import Qt
class LoginWidget(QWidget):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle("炫酷登录界面")
self.setFixedSize(400, 300)
# 设置背景图片
pixmap = QPixmap("background.jpg")
self.setMask(pixmap.mask())
self.setStyleSheet("background-image: url(background.jpg)")
# 设置字体
font = QFont()
font.setFamily("Microsoft YaHei")
font.setPointSize(14)
# 创建用户名和密码框
self.username_edit = QLineEdit()
self.username_edit.setPlaceholderText("请输入用户名")
self.username_edit.setFont(font)
self.password_edit = QLineEdit()
self.password_edit.setPlaceholderText("请输入密码")
self.password_edit.setEchoMode(QLineEdit.Password)
self.password_edit.setFont(font)
# 创建登录和注册按钮
login_button = QPushButton("登录")
login_button.setFont(font)
login_button.setStyleSheet("background-color: #007ACC; color: white; border-radius: 5px;")
register_button = QPushButton("注册")
register_button.setFont(font)
register_button.setStyleSheet("background-color: #007ACC; color: white; border-radius: 5px;")
# 创建标签
title_label = QLabel("欢迎使用炫酷登录界面")
title_label.setAlignment(Qt.AlignCenter)
title_label.setFont(font)
subtitle_label = QLabel("请先登录或注册")
subtitle_label.setAlignment(Qt.AlignCenter)
subtitle_label.setFont(font)
# 创建布局
vbox = QVBoxLayout()
vbox.addWidget(title_label)
vbox.addWidget(subtitle_label)
vbox.addWidget(self.username_edit)
vbox.addWidget(self.password_edit)
hbox = QHBoxLayout()
hbox.addWidget(login_button)
hbox.addWidget(register_button)
vbox.addLayout(hbox)
self.setLayout(vbox)
if __name__ == "__main__":
app = QApplication([])
login_widget = LoginWidget()
login_widget.show()
app.exec_()
```
在这个例子中,我们使用了一张背景图片作为窗口的背景,并创建了两个QLineEdit用于输入用户名和密码。我们还创建了两个QPushButton用于登录和注册,以及两个QLabel用于显示标题和子标题。最后,我们使用QVBoxLayout和QHBoxLayout来布局这些组件。
在实际应用中,您可以根据需要自定义更多的组件和样式,以实现更加炫酷的登录界面。