当前位置: 首页 > news >正文

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方法,样例如下:

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

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

退出程序

几种方法:

QCoreApplication.quit()
QCoreApplication.exit()
sys.exit()

前两者用于退出QT的事件循环,一般要在执行事件循环的QApplication.exec之后调用才有效。

sys.exit()是python的系统函数,强制退。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 格雷母线电缆头安装方法视频-武汉正向科技
  • C++-第三章:类和对象
  • 使用vite+react+ts+Ant Design开发后台管理项目(三)
  • 我的AI工具箱Tauri版-VideoIntroductionClipCut视频介绍混剪
  • ubuntu24.04 怎么调整swap分区的大小,调整为16G
  • TLC/TK Adv学习笔记1 - Py版本+美化
  • PTA L1-062 幸运彩票
  • One-Class Classification: A Survey
  • 猫头虎分享:Python库 Falcon 的简介、安装、用法详解入门教程
  • 网络通信——OSI七层模型和TCP/IP模型
  • 黑马智数Day5
  • contenteditable=“true“可编辑div字数限制
  • JVM —— 类加载器的分类,双亲委派机制
  • Ubuntu中交叉编译armdillo库
  • PostgreSQL主备环境配置
  • JS 中的深拷贝与浅拷贝
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • Android单元测试 - 几个重要问题
  • CAP理论的例子讲解
  • ES6 学习笔记(一)let,const和解构赋值
  • ES6简单总结(搭配简单的讲解和小案例)
  • es6要点
  • github从入门到放弃(1)
  • PAT A1120
  • PHP的Ev教程三(Periodic watcher)
  • ViewService——一种保证客户端与服务端同步的方法
  • vue-loader 源码解析系列之 selector
  • Vue官网教程学习过程中值得记录的一些事情
  • 阿里云Kubernetes容器服务上体验Knative
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 飞驰在Mesos的涡轮引擎上
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 记一次和乔布斯合作最难忘的经历
  • 讲清楚之javascript作用域
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 模型微调
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 译米田引理
  • 赢得Docker挑战最佳实践
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 如何正确理解,内页权重高于首页?
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # Panda3d 碰撞检测系统介绍
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (办公)springboot配置aop处理请求.
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .Net IOC框架入门之一 Unity
  • .net mvc部分视图
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 调用海康SDK以及常见的坑解释
  • .NET的微型Web框架 Nancy
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • [caffe(二)]Python加载训练caffe模型并进行测试1
  • [Golang] goroutine