pyqt5使用经验总结

pyqt5环境配置注意:

安装pyqt5

pip install  PyQt5 pyqt5-tools

环境变量-创建变量名:

健名:QT_QPA_PLATFORM_PLUGIN_PATH

值为:Lib\site-packages\PyQt5\Qt\plugins

pyqt5经验2:

使用designer.exe进行设计:

designer.exe的目录为:\Lib\site-packages\qt5_applications\Qt\bin\designer.exe

使用designer.exe设计页面时,需要的背景图片或icon全部以资源的形式导入。保存在qrc文件中。

qrc内容添加和配置的方式如图:

页面设计的结果保存为ui后缀。转换为py文件需要两个步骤。

第一步,需要执行 \Scripts\pyuic5.exe -o login_2.py login2.ui 将ui转换为py文件。

第二步,需要将图片资源保存的qrc保存为py文件:\Scripts\pyrcc5.exe -o images_widge_bg.py images_widge_bg.qrc

第三步,需要将images_widge_bg.py与login_2.py放入同一目录,否则图片无法引用

### PyQt5 使用教程与示例代码 #### 1. PyQt5 基础概念 PyQt5Python 的 GUI 库之一,用于开发跨平台的应用程序。其核心功能基于 Qt 框架,提供了丰富的控件和工具来构建图形化用户界面 (GUI)[^2]。 为了启动一个基本的 PyQt5 应用程序,通常需要以下几个步骤: - 导入必要的模块。 - 创建 `QApplication` 对象作为应用的核心组件。 - 定义窗口部件(如 `QWidget` 或其他高级控件)并配置它们的行为。 - 设置布局管理器以安排子控件的位置。 - 调用 `.show()` 方法展示窗口,并通过 `app.exec_()` 启动事件循环。 以下是完整的入门级示例: ```python from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout # 初始化应用程序实例 app = QApplication([]) # 创建主窗口 window = QWidget() window.setWindowTitle("PyQt5 示例") # 设置窗口标题 window.resize(300, 200) # 设置窗口尺寸 # 添加标签控件 label = QLabel("欢迎使用 PyQt5!") # 配置垂直布局 layout = QVBoxLayout() layout.addWidget(label) # 将标签加入布局 # 将布局应用于窗口 window.setLayout(layout) # 展示窗口 window.show() # 执行应用程序主循环 app.exec_() ``` 此代码展示了如何创建一个简单的窗口,并向其中添加一个文本标签[^2]。 --- #### 2. QPushButton 控件:实现用户交互 `QPushButton` 是 PyQt5 中常用的按钮控件,可以响应用户的点击操作。下面是一个带有登录功能的简单例子,其中包括两个输入框(用户名和密码),以及一个确认按钮。 ```python from PyQt5.QtWidgets import ( QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QMessageBox ) class LoginWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 设置窗口属性 self.setWindowTitle("用户登录") self.resize(300, 150) # 创建控件 lbl_username = QLabel("用户名:") self.txt_username = QLineEdit() lbl_password = QLabel("密 码:") self.txt_password = QLineEdit() self.txt_password.setEchoMode(QLineEdit.Password) btn_login = QPushButton("登 录") btn_login.clicked.connect(self.onLoginClicked) # 布局管理 layout = QVBoxLayout() layout.addWidget(lbl_username) layout.addWidget(self.txt_username) layout.addWidget(lbl_password) layout.addWidget(self.txt_password) layout.addWidget(btn_login) self.setLayout(layout) def onLoginClicked(self): username = self.txt_username.text().strip() password = self.txt_password.text().strip() if not username or not password: QMessageBox.warning(self, "错误", "请输入有效的用户名和密码!") return if username == "admin" and password == "password": QMessageBox.information(self, "成功", "登录成功!") else: QMessageBox.critical(self, "失败", "用户名或密码错误!") if __name__ == "__main__": app = QApplication([]) window = LoginWindow() window.show() app.exec_() ``` 在此示例中,当用户单击“登录”按钮时,会触发回调函数 `onLoginClicked` 来验证输入的内容。如果匹配预设条件,则弹出提示消息;否则显示错误信息[^3]。 --- #### 3. 自定义对话框 除了基础窗体外,还可以利用 `QMessageBox` 提供标准的消息框样式,例如询问、警告或通知等功能。以下是如何动态生成一条信息提示的例子: ```python def show_message_box(): msgBox = QMessageBox() msgBox.setIcon(QMessageBox.Information) msgBox.setText("这是一个自定义的信息框") msgBox.setWindowTitle("提示") msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) result = msgBox.exec_() if result == QMessageBox.Ok: print("用户选择了 OK") elif result == QMessageBox.Cancel: print("用户选择了 Cancel") # 在适当位置调用该函数即可 ``` 这种技术适用于各种场景下的即时反馈机制[^3]。 --- #### 4. 总结 以上介绍了 PyQt5 的几个主要方面及其典型应用场景。对于初学者来说,掌握这些基础知识已经能够完成许多实际项目需求。随着经验积累,可进一步探索更复杂的主题,比如信号槽连接、多线程处理或者图表绘制等扩展功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会发paper的学渣

您的鼓励和将是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值