pyqt退出窗口_win10电脑软件闪退

pyqt退出窗口_win10电脑软件闪退1.使用qtdesigner创建窗口界面这个都很熟悉了,就不重复说明了。(自行百度)2.pyqt将.ui文件转成python代码cd到.ui文件的目录,使用指令即可完成。得到一个py文件(一个类)红色部分是我自己加上去的,只是为了更好看懂代码,调试代码。3.运行pyqt生成的python代码,生成界面这里,需要添加几行代码!直接在Ui_Dialog类的py文件尾部添加如下代码:if__name__==”__main__”:app=QApplication(

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. 使用qt designer创建窗口界面

这个都很熟悉了,就不重复说明了。(自行百度)
在这里插入图片描述

2. pyqt将 .ui 文件转成python代码

cd到 .ui文件的目录,使用指令即可完成。得到一个py文件(一个类)
在这里插入图片描述
红色部分是我自己加上去的,只是为了更好看懂代码,调试代码。

3. 运行pyqt生成的python代码,生成界面

这里,需要添加几行代码!直接在Ui_Dialog类的py文件尾部添加如下代码:

if __name__ == "__main__":
    app = QApplication(sys.argv)
    w = Ui_Dialog()
    form = QWidget()
    w.setupUi(form)
    form.show()
    sys.exit(app.exec_())
    pass

点击运行即可!

4. 接下来是重点,闪退的问题

  • 使用qt必然是想做成一个exe程序,总不可能一个py文件就把所以程序放完吧。这调试过程会非常麻烦而且痛苦。那么如何在其他py文件中调用这个类,并创建窗口体呢?

    研究上述代码可以发现:主要就是使用 setupUi(form) 这个方法。

    那么,如果你想偷懒,直接在某个函数中创建类后,调用 setupUi( QWidget() ) ,那么恭喜你,凉凉!此时就会出现闪退的情况。

这里有个教训分享:

在创建窗体的时候,应该在主函数中以此调用:(下面三个)

app = QApplication(sys.argv)
form = QWidget()   #一定要单独赋予变量,不能偷懒,否则闪退!
(任意方法调用到这个即可)w.setupUi(form)
sys.exit(app.exec_())
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175209.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月28日 上午9:00
下一篇 2022年8月28日 上午9:00


相关推荐

  • mysql做pisa_群晖nas修改MariaDB配置文件

    mysql做pisa_群晖nas修改MariaDB配置文件家里的Nas使用率越来越高,平均每周手工重启一次,系统运行还算稳定。最近安装了WebStation,MariaDB等套件,用来作为家里的开发测试环境,使用下来还不错。理论上解析个动态域名到nas就能实现对外提供web服务了。100M电信光纤,上行2M,做个个人网站访问速度凑合着应该还是能用的。在导入数据时,因数据库包比较庞大(>100M),需要修改max_allowed_packet字段。…

    2022年5月4日
    255
  • 八数码问题引发的思考

    八数码问题引发的思考学习人工智能这门课历经坎坷,拿到习题集,第一道就开口脆,原题如下:翻阅AIMA教材无思路,Berlekamp等人的文献不知如何找寻,冥想整日无头绪,遂四方觅得习题集参考答案,还是英文版:Definition:Thegoalstatehasthenumbersinacertainorder,whichwewillmeasureasstartingatt…

    2022年7月26日
    8
  • IDEA 热部署设置(JRebel插件激活)「建议收藏」

    IDEA 热部署设置(JRebel插件激活)「建议收藏」1.打开File>>setting,选择Plugins>>BrowseRepositories2.搜索Jrebel找到JRebelforIntelliJ,选择install安装                            3. 打开File->setting,选择JRebel>>…

    2022年6月11日
    156
  • 智谱发布AutoGLM沉思版:推动AI Agent进入「边想边干」阶段

    智谱发布AutoGLM沉思版:推动AI Agent进入「边想边干」阶段

    2026年3月12日
    2
  • 什么是 XML Schema

    什么是 XML Schema作者 微 wx 笑链接 https www zhihu com question answer 来源 知乎著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 什么是 XMLSchema XMLSchema 的作用是定义 XML 文档的合法构建模块 类似 DTD XMLSchema 的作用 定义可出现在文档中

    2025年7月9日
    4
  • 宽度学习(BLS)实战——python复刻MNIST数据集的数据预处理及训练过程[通俗易懂]

    宽度学习(BLS)实战——python复刻MNIST数据集的数据预处理及训练过程[通俗易懂]目录1.宽度学习(BroadLearningSystem)2.MNIST数据集3.复刻MNIST数据集的预处理及训练过程1.宽度学习(BroadLearningSystem)对宽度学习的理解可见于这篇博客宽度学习(BroadLearningSystem)_颹蕭蕭的博客-CSDN博客_宽度学习这里不再做详细解释2.MNIST数据集mnist数据集官网(下载地址):MNISThandwrittendigitdatabase,YannLeCun,Cori

    2022年5月21日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号