c++ - 在 Qt 应用程序中使用 sleep_for()

标签 c++ qt sleep

在我的应用程序中,我想用这段代码显示一些图像

myImage = scene->addPixmap(image);
myImage->setOffset(x, y);

然后我想睡几秒钟:

std::this_thread::sleep_for(std::chrono::seconds(2));

然后显示另一张图片。但是这段代码首先等待 2 秒,然后同时显示两个图像。如何让程序在显示这两个图像之间等待?

最佳答案

使用QTimer::singleShot()并将其连接到更新图片的插槽:

class MyObject : public AQObjectInheritingClass
{
    Q_OBJECT
    ...
public Q_SLOTS:
    void changeImage()
    {
        //change image here
    }

代替sleep_for():

QTimer::singleShot(2000, &instanceOfMyObject, SLOT("changeImage()");

两秒后,changeImage() 将被调用。

关于c++ - 在 Qt 应用程序中使用 sleep_for(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37010609/

相关文章:

c++ - 从文件段错误(核心转储)中读取字符串

c++ - 更新 map 值

c++ - 我应该为QWidget的派生定义析构函数吗

Android:以编程方式更改wifi sleep 策略?

c++ - Sleep() 是一个糟糕的设计,但似乎是我唯一的选择

c++ - 将原始数据从内存复制到文件(cuda)

c++ - 如何在linux中编译代码C xen

c++ - 如何删除 QTabWidget 的 "padding"?

javascript - 在QML界面等待两个按钮被点击

c - sleep() 会阻塞吗?