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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navcat激活码【在线注册码/序列号/破解码】

    navcat激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    52
  • window10编译器_windows shell编程

    window10编译器_windows shell编程原文地址http://www.cctry.com/forum.php?mod=viewthread&tid=250698&extra=page%3D1&page=1&如何让我们的c++程序可以支持脚本,尤其是支持JavaScript是件很有意思的事情的,那样可以为软件的灵活性,扩展性提供可能。你可能会说用JavaScript引擎,对,JavaScript引擎有很多,有Googlev8,s

    2022年10月10日
    3
  • pycharm激活码2021年2月【2021免费激活】[通俗易懂]

    (pycharm激活码2021年2月)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html83…

    2022年3月27日
    51
  • Java面试题超详细讲解系列之八【SQL优化篇】[通俗易懂]

    Java面试题超详细讲解系列之八【SQL优化篇】[通俗易懂]52条SQL优化合集,专栏持续更新中

    2022年8月29日
    3
  • postman安装使用教程_postman怎么使用

    postman安装使用教程_postman怎么使用目录第一部分:基础篇postman1.安装postman进入postman官网,如果是mac系统可以直接点击macapp安装第二部分:进阶篇1.使用自带的脚本对接口进行测试第一部分:基础篇postman1.安装postman进入postman官网,如果是mac系统可以直接点击macapp安装如果是windows的话,需要在windows下安装chrome浏览器,然后在地址栏输入chrome://extensions,勾选开发者模式然后将下载的postman插件解压,浏览器点击加

    2022年9月17日
    4
  • 2.什么是线程间的通信 ?怎么实现线程通信

    2.什么是线程间的通信 ?怎么实现线程通信2.1什么是线程通信以及实现步骤线程间通信的模型有两种:共享内存和消息传递线程通信其实就是,实现线程的交替工作,并传递信息线程间的通信具体步骤:(涉及上中下部)创建资源类,在资源类中船舰属性和操作方法 在资源类操作方法:判断、操作、通知 创建多个线程,调用资源类的操作方法 防止虚拟唤醒问题(if判读,只会判断一次)2.2synchronized案例操作线程的时候,等待线程使用wait()通知另外的线程操作用notify()、notifyAll()假设…

    2022年7月16日
    19

发表回复

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

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