-2

我使用 qt creator C++ 加载了一个图像:

inputImg=new QImage("C:/Bimap/HUD1.bmp")

并且可以在窗户上看到。我想在 5 秒后删除这个图像并加载另一个图像。

有可能做到吗?感谢您的回答。

4

2 回答 2

2

你需要做这样的事情(例如在 MainWindow 中):

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(update()));
    timer->start(5000);

    index = 0;

    flag = false;
}
void MainWindow::update()
{
     if(flag)
         inputImg=new QImage("C:/Bimap/HUD1.bmp");
     else
         inputImg=new QImage("C:/Bimap/speed.bmp");
     flag = !flag;



}
于 2013-08-26T17:16:20.920 回答
0

在构造函数中分配图像(或至少一次),然后使用索引来选择它们。
我还添加了一个numImages变量,以便您可以旋转超过 2 个图像。

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(update()));
    timer->start(5000);

    index = 0;
    numImages = 2;

    inputImages[0] = new QImage("C:/Bimap/HUD1.bmp");
    inputImages[1] = new QImage("C:/Bimap/speed.bmp");
}
void MainWindow::update()
{
    showImage(inputImages[index]);
    index = ++index % numImages;
}
于 2013-08-27T10:39:20.027 回答