PyQT开发总结

用PyQT开发了一个界面小程序,记录一下。

pyuic和pyrcc

pyuic (PYthon User Interface Compiler)是一个命令行工具,用于将 Qt Designer 生成的 .ui 文件转换成 Python 代码。pyrcc 用于处理 Qt 资源文件(如图片),将它们转换成 Python 可以使用的模块。

pyside6的designer是pyside6-designer.exe,uic是pyside6-uic.exe,windows系统都放在python\Scripts下。

可以通过pycharm的external tools菜单集成进来,网上有介绍。

designer中指定布局

问题:使用designer时,若使用Grid布局,该如何指定每个widget的位置?

先在designer里放widget,然后选择几个相关的widget,点击右键菜单"布局",把这几个widget组织成你想要的布局。再选择该布局+其它widget,依次组装成更大的布局。

如果widget在布局里的表现不是你想要的,可设置widget的sizePolicy进行调整。例如:widget大小会自动扩展至布局大小,我们可以修改sizePolicy里的"水平策略"或"垂直策略"为fixed或maximum,禁止widget自动扩展。

获取QDialog返回值

直接使用QDialog.show是不行的,拿不到里面控件的值,得用exec方法,样例如下:

python 复制代码
my_dlg = MyDlg()
reply = my_dlg.exec()

if reply == QDialog.Accepted:
	print(my_dlg.get_value())

不过,QDialog的exec方法也有个问题,如果它作为主窗体,不会像show那样结束窗体的事件循环,会导致app.exec()无法正常退出。所以exec方法不能用于程序的主窗体。

相关推荐
毛飞龙3 小时前
Python类(class)参数self的理解
python··self
魔尔助理顾问3 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
颜颜yan_5 小时前
Python面向对象编程详解:从零开始掌握类的声明与使用
开发语言·redis·python
我的ID配享太庙呀6 小时前
Django 科普介绍:从入门到了解其核心魅力
数据库·后端·python·mysql·django·sqlite
@蓝莓果粒茶7 小时前
LeetCode第350题_两个数组的交集II
c++·python·学习·算法·leetcode·职场和发展·c#
FinAnalyzer7 小时前
如何在 InsCodeAI 上搭建并使用 Jupyter Notebook 环境?
ide·python·jupyter
java1234_小锋7 小时前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博文章数据可视化分析-文章分类下拉框实现
python·自然语言处理·flask
檀越剑指大厂7 小时前
【Python系列】Flask 应用中的主动垃圾回收
开发语言·python·flask
檀越剑指大厂7 小时前
【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题
开发语言·python·flask
WXX_s7 小时前
【OpenCV篇】OpenCV——03day.图像预处理(2)
人工智能·python·opencv·学习·计算机视觉