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


相关推荐

  • 微服务中的日志管理 — ELK

    微服务中的日志管理 — ELK通过使用微服务,我们能够解决许多在单体应用中暴露的问题,并且它允许我们创建稳定的分布式应用程序,并对代码,团队规模,维护,发布周期,云计算等进行所需要的控制。但同时微服务也引入了一些挑战,例如分布式日志管理和查看。需要提供在众多服务中查看分布的完整事务日志和分布式调试的能力。实际上,挑战在于微服务是相互隔离的,它们不共享公共数据库和日志文件。随着微服务数量的增加以及我们使用自动化持续集成工具实现…

    2022年6月6日
    31
  • C++实现贪吃蛇(控制台)

    C++实现贪吃蛇(控制台)游戏介绍有一条蛇,在屏幕上爬,用上下左右键控制吃东西,吃得多了,到了一定积分,就能过关。越吃越长,不能碰墙,不能咬自己的尾巴,没了,哈哈。这个蛇是条很有个性的蛇它会吃多少吐多少(如果要取消这个特性可以在代码中修改一行代码即可,我已经标注出来了)话不多说直接上代码(代码中有详细注释)!可以直接运行的://本来我是想用C语言实现的无奈水平有限,只能在C++下执行了,注意:这里使用的字符集为Unicode#define_CRT_SECURE_NO_WARNINGS#include<s

    2022年5月9日
    46
  • Verilog——基于FPGA的贪吃蛇游戏(VGA显示)

    最近在做Verilog程序课设,做了一个有关贪吃蛇的小游戏,写一篇博客来记录一下自己的创作过程。大部分的内容直接采用了设计报告的原话,有不足之处还望大家多多指教。对于重点:蛇身控制算法,我开始的想法是将每个格子的坐标输入到存储器中,但由于过于繁琐和笨拙,我改为:保留头部的完整数据(位置、方向),其他部分只保留方向数据,并在VGA模块里面直接对蛇身进行控制,但是这个方案有一个弊端:它按照蛇身顺序…

    2022年4月15日
    45
  • xshell连接虚拟机步骤_安装虚拟机后如何使用

    xshell连接虚拟机步骤_安装虚拟机后如何使用Xshell连接虚拟机1、打开虚拟机终端,输入下面命令,找到ens33对应的IP地址,如图ifconfig2、打开Xshell,打开文件–>新建3、填写名称,主机这里填入刚才的IP,点击连接4、输入登录的用户名,点击确定5、输入密码,点击确定6、连接成功,可以开始使用…

    2022年9月23日
    0
  • linux下go语言代理

    linux下go语言代理exportGO111MODULE=onexportGOPROXY=https://goproxy.cn

    2022年7月25日
    12
  • Java实现扫雷小游戏【优化版】

    Java实现扫雷小游戏【优化版】游戏的设计类似windows扫雷,用户在图形化用户界面内利用鼠标监听事件标记雷区,左上角表示剩余雷的数量,右上角动态显示使用的时间。用户可选择中间组件按钮重新游戏。在使用Java编写扫雷小游戏时遇到了很多问题,在解决问题时,确实对java的面向对象编程有了更加深入的理解。虽然GUI现在并没有很大的市场,甚至好多初学者已经放弃了学习GUI,但是利用GUI编程的过程对于培养编程兴趣,深入理解Java编程有很大的作用。

    2022年7月15日
    13

发表回复

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

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