栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

QWidget:必须在QPaintDevice之前构造一个QApplication

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QWidget:必须在QPaintDevice之前构造一个QApplication

从代码来看,错误是由于第102行引起的。在此位置,在加载模块时,您将创建一个

QWidget
(更精确地是一个
QMainWindow
)。而这种情况发生
之前
QApplication
创建。

另外,我也不知道为什么在这里有这个起始变量,因为它似乎没有被使用。

如果要使用

HelloBegin
对象创建它,请在
__init__
方法中移动它。

编辑:

如果要在模块加载时显示启动屏幕,则需要由一个小型,轻量级的模块启动该应用程序。在本模块中,您将:

  1. 创建QApplication
  2. 打开初始屏幕/消息框
  3. 然后才加载其他模块

为了使一切顺利进行,我将在一个单独的函数中导入模块,并使用一个小技巧来确保仅在GUI准备好后才能启动。该代码将如下所示:

from PyQt4.QtGui import QApplicationfrom PyQt4.QtCore import QTimerdef startApp():    import m1    import m2    wnd = createWindow()    wnd.show()import sysapp = QApplication(sys.argv)splash = createSplashScreen()splash.show()QTimer.singleShot(1, startApp) # call startApp only after the GUI is readysys.exit(app.exec_())

createSplashScreen
创建启动画面的功能在哪里



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659652.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号