Pyqt5开发备忘

环境安装,也可参考VSCode配置PYQT5环境-CSDN博客

1、64位程序不能在32位机器上运行,所以得32位的安装包;python3.8是win7最后一个版本,3.8以上不支持win7,安装包下载https://www.python.org/ftp/python/3.8.10/python-3.8.10.exe

2、环境变量,控制台窗口python无反应的话需要添加python.exe所在目录到环境变量如D:\Python;D:\Python\Scripts

3、安装依赖库

pip install PyQt5 -i https://pypi.douban.com/simple

pip install PyQt5-tools -i https://pypi.douban.com/simple

4、VSCode插件集成

安装pyqt integration、python插件

pyqt integration插件配置qt路径和pyuic5路径

Pyuic:Cmd  一般是在安装的python环境下的D:\Python\Scripts\pyuic5.exe
Qtdesigner:Path 一般是在安装的python环境下的D:\Python\Lib\site-packages\qt5_applications\Qt\bin\designer.exe

4、发布打包

按目录打包,单文件打包会启动自解压,很多资源文件会引用出错,参考PyInstaller 系列 - 单目录和单文件模式,先安装

pip install pyinstaller  -i https://pypi.douban.com/simple

PyInstaller 系列 - 基本用法 参考,系统命令行打包,单目录无需确认非控制台方式,python打包出来的exe运行无需python环境

pyinstaller --noconfirm --onedir --windowed "main.py"

linux打包 python如何编译成linux-CSDN博客 

5、语法-继承

包括单继承和多继承

class 子类名(父类名1, 父类名2...)

Python类继承-CSDN博客

Python中类的字段:静态字段-CSDN博客

详解Python中类属性、 实例属性、 类方法、 静态方法、实例方法-CSDN博客

6、QSS样式,Qt Style Sheet 中的 widget 不会自动从其父部件继承字体和颜色

PyQt5 基本语法(八):样式控制-CSDN博客

QSS 语法-CSDN博客

Qt官方 Style Sheets Examples | Qt Widgets 5.15.16

PyQt5教程—实现QQ登录界面(加载qss样式表)-CSDN博客

PyQt5的界面美化秘密之批量设置部件的样式qss文件 - 知乎

Qt的qss特殊设置多个子控件的颜色与伪状态

Pyqt5自定义QWidget设置setStyleSheet不成功解决方法-CSDN博客

7、自定义类在QT Designer使用,结合qss类选择器

pyqt5 qt designer导入自定义类-CSDN博客

8、PyQT5 绑定函数的传参(connect 带参数)

9、和其他语言差异

同名函数后面的覆盖前面的:python 可以定义两个同名但参数类型不同的类吗?-CSDN博客

无switch语句,用if-elif-else:python 为什么不支持 switch 语句? - 知乎

布尔值取非用not 代替

if not 表达式:
   pass

目录之间导入import自己写的本地模块报错No module named-CSDN博客

qt无边框窗口点击任务栏不能最小化-CSDN博客

10、QT Designer的界面自适应大小

Qt基础——让使用Designer创建的UI也能自动适应窗口大小

如何利用QtDesigner使控件大小自适应?-CSDN博客

11、遍历QLayout的子控件,设置子控件鼠标跟踪setMouseTracking,捕捉mouseMove;最底层Frame可以设置下border显示出来,避免被其他组件覆盖无法触发mouseMove

 # Pyqt5遍历QLayout容器中的控件
 for i in range(vbox.count()):
     print(vbox.itemAt(i).widget())

Qt关于mouseMoveEvent的捕捉以及setMouseTracking - 代码先锋网

12、字符串format使用

# default arguments
print("Hello {}, your balance is {}.".format("Adam", 230.2346))

# positional arguments
print("Hello {0}, your balance is {1}.".format("Adam", 230.2346))

# keyword arguments
print("Hello {name}, your balance is {blc}.".format(name="Adam", blc=230.2346))

# mixed arguments
print("Hello {0}, your balance is {blc}.".format("Adam", blc=230.2346))

 Python String format()-CSDN博客

 Python创建对象的七种方式

13、读取本地数据sqlite

 PyQt5之SQLite数据库操作-CSDN博客

 sqlite3 与pyqt5 qsql哪个性能高-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值