PyQt5学习(一)

一、创建第一个PyQt窗口

 1 import sys
 2 from PyQt5.QtWidgets import QApplication, QWidget
 3 
 4 class MyWindow(QWidget):
 5     def __init__(self):
 6         super().__init__()
 7         self.initUI()
 8 
 9     def initUI(self):
10         self.setWindowTitle('我的第一个PyQt窗口')
11         self.setGeometry(300, 300, 400, 300)  # (x,y,width,height)
12 
13 if __name__ == '__main__':
14     #创建应用实例
15     app = QApplication(sys.argv)
16     window = MyWindow()
17     window.show()       #显示
18 #app.exec_()启动Qt应用程序的事件循环,阻塞程序执行,直到主窗口关闭,返回状态(0表示正常退出)
19 #sys.exit()将Qt的退出状态传递给系统,确保程序完全退出并释放资源,比直接调用exit()更安全规范
20     sys.exit(app.exec_())  

 二、创建一个登陆界面

 1 import sys
 2 from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, 
 3                             QLineEdit, QPushButton, QVBoxLayout,
 4                             QMessageBox)
 5 from PyQt5.QtCore import Qt
 6 
 7 class LoginWindow(QWidget):
 8     def __init__(self):
 9         super().__init__()
10         self.initUI()
11 #创建UI界面方法  
12     def initUI(self):
13         # 创建控件
14         self.title_label = QLabel('用户登录系统', self)
15         self.title_label.setAlignment(Qt.AlignCenter)#设置文本剧中对齐
16         
17         self.username_label = QLabel('用户名:', self)
18         self.username_input = QLineEdit(self)#创建单行输入框
19         self.username_input.setPlaceholderText('请输入用户名')#设置占位文本(浅灰色提示文字)
20         
21         self.password_label = QLabel('密码:', self)
22         self.password_input = QLineEdit(self)
23         self.password_input.setPlaceholderText('请输入密码') #设置占位文本(浅灰色提示文字)
24         self.password_input.setEchoMode(QLineEdit.Password)#设置回显模式为Password(输入显示为圆点或星号)
25         
26         self.login_btn = QPushButton('登录', self)#创建登陆按钮,后续可以通过信号槽连接点击事件
27         self.status_label = QLabel('准备就绪', self)#用于显示登陆状态的文本标签
28         
29         # 设置布局
30         layout = QVBoxLayout() #设置垂直布局
31         layout.addWidget(self.title_label)
32         layout.addWidget(self.username_label)
33         layout.addWidget(self.username_input)
34         layout.addWidget(self.password_label)
35         layout.addWidget(self.password_input)
36         layout.addWidget(self.login_btn)
37         layout.addWidget(self.status_label)
38         
39         self.setLayout(layout) #把布局作为主窗口布局
40         
41         # 连接信号槽
42         self.login_btn.clicked.connect(self.on_login_clicked)
43         
44         # 窗口设置
45         self.setWindowTitle('PyQt5登录演示')
46         self.setGeometry(300, 300, 300, 200) #x,y,length,width
47         
48     def on_login_clicked(self):
49         username = self.username_input.text()#获取用户输入的账号密码
50         password = self.password_input.text()
51         
52         if not username or not password: #用户名或密码为空的情况
53             self.status_label.setText('用户名和密码不能为空!')
54             return 
55             
56         if username == 'admin' and password == '123456':
57             QMessageBox.information(self, '登录成功', '欢迎使用系统!')#弹出信息提示框,内容'欢迎使用系统'
58             self.status_label.setText('登录成功')
59         else:
60             QMessageBox.warning(self, '登录失败', '用户名或密码错误!')#弹出警告提示框,内容‘用户名或密码错误’
61             self.status_label.setText('登录失败')
62 
63 if __name__ == '__main__':
64     app = QApplication(sys.argv)
65     window = LoginWindow()
66     window.show()
67     sys.exit(app.exec_())

 

posted @ 2025-05-16 14:24  笨笨的小虫子  阅读(17)  评论(0)    收藏  举报