首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对QML文件的更改不会反映在GUI中

对QML文件的更改不会反映在GUI中
EN

Stack Overflow用户
提问于 2019-09-11 04:08:43
回答 2查看 92关注 0票数 0

我接管了一个在Ubuntu 16.04上运行Pyqt-5的项目。我对QML非常陌生。

我有main.py,它有一个运行qml的引擎。有一系列的qml文件,但为了简单起见,假设有一个使用component.qml的main.qml。在更新component.qml时,如果我运行main.py,则不会发生任何变化。但是,在运行main.py时,始终会反映对main.qml的任何更改。

对于为什么在运行应用程序时component.qml的更改没有反映出来,有什么建议吗?如何让component.qml中的更改得到反映的解决方案?

我已经尝试注释掉整个component.qml文件,没有任何更改反映出来。

EN

回答 2

Stack Overflow用户

发布于 2019-09-11 04:28:37

我有一个临时的解决办法,可以重建整个项目。

我认为QT是一个C++原生应用程序,如果有变化就必须重新编译。我认为PyQT并不总是触发QT重新编译。它类似于下面的bug。

https://bugreports.qt.io/browse/QTBUG-13334

如果有人有更好的解决方案,请让我知道。

票数 0
EN

Stack Overflow用户

发布于 2019-09-11 10:31:39

考虑到你的回答:我有一个临时的解决办法,通过重建整个项目。我假设您使用的是.qrc,这可以解释您问题中的行为。

与通过PyQt/Python编译生成产品的Qt/C++系统不同,它是一种解释型语言(部分由字节码编译),因此项目的构建方式不同。

在编译过程中,.qrc中指示的所有资源都被插入到PyQt的可执行文件中,您必须使用pyrcc工具从foo.qrc生成foo_rc.py:

代码语言:javascript
复制
pyrcc5 foo.qrc -o foo_rc.py

总结:

  • 项目构建方法在Qt和PyQt中是不同的,因此您指出的错误与您的情况无关。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57877579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档