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方法不能用于程序的主窗体。

相关推荐
IvanCodes4 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
Patrick在香港5 小时前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200
爬虫·python·api·claude·香港
Web3&Basketball6 小时前
CRM Agent 后训练实战:3 倍更少错误
python·架构·大模型·agent·推理
AIFQuant7 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题
python·金融·区块链·etf·基金
GPU实战笔记8 小时前
云端 Python 开发:JupyterLab 还是 VS Code Remote-SSH?
python·vs code·jupyterlab·remote-ssh·远程开发
狗狗狗狗狗乐啊8 小时前
搭一个 AI 对话工作台 AChat:从 0 到可用的完整记录(一)
python·react.js·ai编程
白猫不黑9 小时前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试
kuuailetianzi9 小时前
Python初识:定位、优势与发展历程
python
guoran_shini10 小时前
LLM微调-训练垂类问答模型
python·lora·sft
basketball61610 小时前
Python FastAPI 介绍以及常用方法
python·fastapi·vllm·ai infra