问题标签 [qapplication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
498 浏览

c++ - 最大化窗口时Qt QApplication帧率下降

我们将 Qt 用于可视化引擎查看器,但该QApplication::processEvents()方法存在问题。由于我们需要控制帧率(以游戏循环方式),我们重写了 QApplication 来定义我们自己的和我们的游戏循环,看起来像

这很好用,processEvents()通话时间约为 0.001 秒,而对于空场景,通话doFrame()时间约为 0.0001 秒。现在,当我们双击标题栏(最大化窗口)时,我们遇到了一个问题。实际上,在这样做之后,processEvents()调用从大约 0.001 秒变为大约 0.01 秒 (*10)。大部分时间似乎都被占用了QPlatformBackingStore::composeAndFlush()

使用的查看器是基于 QOpenGLWidget 的,所有的渲染都是在 Qt 之外完成的(我们在 Qt FBO 中编写)。

请注意,我们没有覆盖QApplication::processEvents().

谢谢

0 投票
2 回答
3188 浏览

python - QtGui.QApplication 和 QtCore.QCoreApplication 的区别

众所周知,QtGui是用于GUI程序创建界面的,而QtCore是用于非GUI程序的,实际上是在界面下工作的。但是要获取正在运行的应用程序的实例,我发现我们可以使用 QtCore 和 QtGui 来返回当前正在运行的实例,使用QtCore.QCoreApplicationand QtGui.QApplication

那么使用它们返回的实例有什么区别呢?他们指的是同一件事吗?

0 投票
0 回答
48 浏览

loops - 如何使用 PyQt4 进行循环?

我正在尝试制作一个每 10 秒打开一个窗口并等待用户关闭它的程序,以便重新开始计算接下来的 10 秒。

我有以下代码:

我遇到的一个大问题是,我怎样才能创建一个循环,每 10 秒我可以重新实例化 Window。

0 投票
3 回答
1989 浏览

c++ - QTimer超时槽通过直接连接或排队连接调用槽有什么区别?

我问的是在事件引擎中有很多 qt 事件排队的情况。是否通过事件QTimer发出timeout()信号并将与queuedConnection插槽创建另一个事件?

0 投票
2 回答
587 浏览

c++ - QThread和notify的实现

notify在多线程 Qt 应用程序中重新实现函数时要注意什么?这是一个示例实现。目前没有错误,但我担心可能会出现错误,因为 Qt 中的多线程使用使用通知功能的信号槽进行通信。

fMain是一个具有报告功能的模块

0 投票
0 回答
90 浏览

python - PySide QApplication 中断 datetime.strptime() 月份识别

我正在使用 datetime.strptime() 从一个月中获取月份编号,用全英文编写。我想将它与一些 PySide Qt 接口结合使用。但是,一旦我启动 QApplication,月份识别似乎就会中断。

最小工作示例(我正在打印语言环境以表明它不会改变):

输出:

现在,当我启动 QApplication 并执行相同操作时:

输出:

到底是怎么回事?为什么启动 QApplication 后它停止工作?

0 投票
6 回答
3005 浏览

qt - QVideoWidget:视频被切断

我想在 Qt 应用程序中播放视频。到目前为止,这是我的代码:

问题:视频显示和播放正常,但视频没有调整大小以适合 QVideoWidget。比小部件大的视频部分被截断。

提前致谢!

编辑:我减少了代码并注意到,当应用程序启动时视频被切断,但是当我使用鼠标调整窗口大小时,它实际上适合大小:

0 投票
1 回答
841 浏览

python - 在 5 秒内显示全屏网页然后关闭窗口(python)

我想制作一个在浏览器中打开本地 html 文件并在 5 秒后关闭该窗口的 python 脚本。

我已经尝试了 self.close() 方法,如果我添加“time.sleep()”它只会延迟网页内容的显示

这是我的代码(我是新手,很抱歉)

有什么建议么?如您所见,我想在构造函数中同时传递 url 和持续时间(睡眠)。

0 投票
1 回答
433 浏览

python - MainWindow 初始化后关闭

我想使用 PyQt5 和 QtDesigner 开始一个新项目。首先,我只是复制了 PyQt4 中以前项目中的代码,并根据 PyQt5 中的更改对其进行了调整。因此,启动Main WindowTimer更新应用程序的代码如下所示:

但是一旦我启动应用程序,它就会在初始化后关闭。调试显示计时器处于活动状态,但update_loop从未调用过。

我从中复制的 PyQt4 代码运行良好,但我无法理解为什么它不起作用,因为我在网上找到的所有示例都有相同的代码。

问题是:为什么应用程序在启动时会自行关闭?

更新

问题不在于计时器,而在于自定义 .ui 的使用。如果我运行代码

一个窗口打开,它一直打开,直到我关闭它。但是一个准系统

显示后几毫秒内消失。再说一次,在 PyQt4 中使用自定义小部件也保持打开状态。我添加了uic.load部分,它运行得很好。转换为 PyQt5 时我错过了什么吗?

解决方案

我在自定义显示类中找到了问题的解决方案。在 a 的情况下paintEvent,显示将尝试获取(尚未)未定义的属性。但是,没有引发属性未定义的异常,而是关闭了窗口。

在初始化小部件时定义属性解决了这个问题。这只是让我想知道,为什么在这种情况下没有引发异常,因为小部件显然试图调用一些未定义的属性。一个简单的

就够了。

0 投票
1 回答
421 浏览

qt - 防止 QApplication::exec 阻塞主线程

我有一个在主线程上创建多个 GUI 的可视 C++ 程序。我想在所有其他 GUI 旁边显示一个 QWidget。目前,如果我调用 QApplication.exec(),它会阻塞主线程,直到我关闭窗口。有什么办法可以防止exec函数阻塞主线程或者不调用exec就使用QWidget?