PyQt / PySide
文章平均质量分 90
Python GUI 开发
龚建波
熟悉C++ Qt,Python等
展开
-
PyQt5,属性与属性动画
0.前言Qt框架提供了一个基于其元对象系统的属性系统,应用也比较广泛,如属性动画、样式表属性、QML属性等。Python3也有一个property属性,但和Qt属性不是通用的。我们可以动态设置和获取QObject及子类对象的属性: w.setProperty('size',QSize(600,600)) print(w.property('size'))除了Qt预定义的一些属性,也可以添加自定义的属性。使用setProperty动态添加,或者用pyqtProperty提前定义原创 2020-06-30 23:36:24 · 3138 阅读 · 0 评论 -
PyQt5,资源文件 .qrc 的使用
PyQt5 支持 Qt 的资源系统。这是用于在应用程序中嵌入图片和翻译文件等资源的工具。这使得这些资源的打包和分发更加容易。使用 pip 安装 PyQt5 之后,在 Python 的Scripts 目录下有 pyrcc5.exe 和 pyuic5.exe 等工具(PyQt6 或者 PySide 可能不一样)。 这个 rcc 工具可以将 *.qrc 里面描述的图片、文档等编译成对应的源代码文件 *.py 或者独立的二进制资源文件 *.rcc。原创 2020-04-07 14:13:48 · 17168 阅读 · 11 评论 -
PyQt5,信号槽的使用
0.前言信号槽机制是Qt框架的核心之一,相比直接使用回调函数,信号和槽虽然效率低一点,但更易于代码解耦,并且信号槽是线程安全的。具体的实现可以参照Qt文档及源码,其实就是通过一个链表来存储信号槽,信号emit的时候就去调用槽函数,PyQt5中任意可调用对象都可以作为槽函数。本文主要总结信号槽的应用,后续再继续补充。PyQt信号槽具有以下功能:一个信号可以连接多个槽函数; 信号也可以...原创 2020-02-19 23:35:05 · 2850 阅读 · 0 评论 -
PyQt5,第一个窗口
0.前言Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架,是目前开发桌面应用程序主流框架。PyQt5是Qt框架的Python绑定,使用SIP绑定生成器构建。注意,Qt大部分模块为LGPL协议,但是PyQt5为GPL3。开始学习前,我们先install PyQt5模块:pip install -i https://pypi.tuna.tsingh...原创 2020-02-16 15:49:00 · 697 阅读 · 0 评论 -
Windows上VS Code配置PyQt5/PySide2环境
然后Win10命令行输入Python默认会打开应用商店,因为他用户环境变量里有个变量对应路径下有这Python相关的,我试了下也没法删掉这个文件,就把这个环境变量删了:%USERPROFILE%\AppData\Local\Microsoft\WindowsApps。(如果装了Qt软件的话,不需要装pyqt5-tools,用Qt里的designer就行了,而且上次我先装的PyQt5,后装的tools,结果这货因为绑定的Qt版本更低还把我的PyQt5给降级了)试了下,import的时候不用星号就没这个问题。原创 2020-02-21 14:27:52 · 15762 阅读 · 5 评论 -
PySide2/PyQt5练习:用QPainter绘制环形进度条
好久没写Python了,拿Qt来练习下Python。代码很简单,就是绘制一个环形的滚动条,带动画和渐变效果。动画使用的QTimeLine,渐变使用的QConicalGradient径向渐变。每次修改角度值时,就启动timeline,实现动画效果。写的过程中遇到了一些问题:一是Qt径向渐变默认是逆时针的,解决办法是使用QPainter的setViewport把视口翻转一下(比修改计算方式简单点);二是PyQt5无法把QRect隐式转换为QRectF,在PySide2中就可以,没办法,最后就用的QRectF原创 2019-12-16 22:43:10 · 3302 阅读 · 2 评论