问题标签 [qtimer]

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 投票
2 回答
1136 浏览

python - PyQt4 导致 QThread 错误

使用 PyQt4 4.8.6 下面的代码会产生错误

QObject::startTimer:QTimer 只能用于以 QThread 启动的线程

当 a 用作 QApplication 的变量时,但如果 cpp(或大多数其他东西)用于变量,则不会产生错误。这是 PyQt4 中的错误还是我遗漏了什么?

0 投票
2 回答
2062 浏览

c++ - QTimer 在每次启动/停止时变得更快

我正在使用 aQTimer来平滑地更改标签的大小:当我将鼠标悬停在按钮上时,它应该会慢慢增长,而当鼠标离开按钮时,它会慢慢折叠(减小它的大小直到消失)。

我的表单类中有两个计时器:

在表单的构造函数中,我设置了计时器的值并将按钮mouseOvermouseOut信号连接到表单的插槽:

现在,在这些插槽中,我将相应的计时器连接到将逐渐改变大小的插槽,然后启动计时器:

之后,标签开始改变它的大小:

问题:起初一切正常,标签慢慢打开和关闭。但是,如果它这样做了几次,它每次都会开始越来越快地改变大小(就像计时器的间隔越来越小,但显然不是)。最终,在几次打开/关闭之后,当我将鼠标悬停在按钮上时,它开始立即将其大小增加到边界,并在鼠标离开按钮时立即折叠到零大小。

这可能是什么原因?

0 投票
1 回答
3914 浏览

qt - QList 索引超出范围

使用计时器我checkBookings()反复调用插槽。我能够编译并运行该程序,但是在执行上述 FOR 循环时它会崩溃。

错误:“QList::at 中的 ASSERT 失败:“索引超出范围”,文件 ../../../../Qt/2010.05/qt/include/QtCore/../../src/corelib /tools/qlist.h,第 455 行 传递给 C 运行时函数的参数无效。传递给 C 运行时函数的参数无效。”

我的代码是:

0 投票
2 回答
975 浏览

c++ - 将 QLabel 作为参数传递 Qt C++

我有一个小 GIF,它在 a上QLabel带有. 我试过这个,但它不起作用:QMovieQlabel

这是我的功能:

0 投票
1 回答
3744 浏览

c++ - 如何在不使用 QMediaPlayer 的情况下在 Qt 中获取音频和视频文件的持续时间

我一直在开发一个应用程序,我可以使用QDirIterator遍历系统驱动器并查找音频/视频文件,使用QStandardItemModel获取详细信息并将其显示在 QTreeview 上。我已成功显示文件名、类型、大小、修改日期,但DURATION是我无法做到的。

这是代码:

我不确定是否可以使用上述方式获得持续时间,因为我找不到任何此类属性。他们还有其他方法吗?我不想使用 QMediaPlayer。任何其他替代解决方案可以帮助我用 Duration 更新我的上述代码???

0 投票
3 回答
10062 浏览

python - 如果我的代码中没有 QTimer,为什么我会收到“QTimer 只能用于以 QThread 开头的线程”消息?

当(并且仅当)我退出我的应用程序时,这些(并且只有这些)重复的消息会出现在命令提示符上:

这对我来说很奇怪,因为我从不在我的代码(或 QThread)中使用 QTimer。事实上,使用该应用程序不会发生错误或崩溃,因此这实际上并不是真正的问题。这发生在 Windows 和 Linux 操作系统中。

我所有的进口:

主要功能:

也许它可能与 QFileSystemWatcher(由 QFileSystemModel 使用)有关,我猜......也许它使用了一些 QTimer 功能。

0 投票
4 回答
10972 浏览

c++ - 使用QT,如何在一定间隔后调用一次函数,即使可能会发生更多调用?

尽管我认为它并不复杂,但我很难说出这个问题。

我想做一些类似的事情,QTimer::singleshot()但我希望它仍然只调用 SLOT 一次,即使QTimer::singleshot()在它触发之前被多次调用。

0 投票
1 回答
3149 浏览

python - 关于显示后台线程经过时间的 GUI 计时器的建议?

问题

我有一个 PyQt GUI,用户在其中按下一个按钮来启动一个后台线程(workerThread,它是 的子类QThread)。我想要一个计时器显示(以 a 的形式QLabel)来显示自开始以来已经过去了多少时间workerThread,我希望这个计时器在workerThread退出后立即停止。

可能的解决方案

我考虑过创建另一个timerThread独立QTimer线程QLabel(这timerThread将在收到来自 的终止信号后立即退出workerThread

但是,我必须同时开始timerThreadWorkerThread而且我不知道该怎么做。

问题

有没有更简单的方法来做到这一点?甚至是QTimer正确的方法开始吗?

0 投票
2 回答
9537 浏览

python - 如何在使用 QWaitCondition 的 QThread 中使用 QTimer?(pyside)

我正在使用 pyside 但(我认为)是一个通用的 Qt 问题。

我知道 QThread 实现调用 ._exec() 方法,所以我们应该在启动的 QThread 上有一个事件循环。这样我们就可以在那个线程上使用 QTimer(我已经做到了,而且效果很好)。我的问题是,当还使用 QWaitCondition 时,我希望有一个“消费者”线程,它有一个无限循环,等待在 QWaitCondition 上通知(来自生产者)。我遇到的问题是,通过这种设计,我无法在消费者线程中使用 QTimer。

这是我试图解释的场景片段:

单击按钮后,我们将获得如下输出:

这意味着在 loop() 方法中创建的 QTimer 永远不会被事件循环执行。

如果我将设计从 QWaitCondition 更改为 Signals(这是更好的设计恕我直言),QTimer 可以工作,但我想知道为什么在使用 QWaitCondition 时它们不工作。

0 投票
2 回答
1554 浏览

python - 例如在 __init__ 中声明的 Python“AttributeError”

我正在用 Python 和 Qt 开发一个应用程序,我想澄清一些事情。以这个代码示例为例:

当我运行我的代码时,我得到

但是我没有self.serial在课堂上到处调用这种错误。这两个实例有什么区别,我应该如何调用timer它才能在整个班级中访问它?