我使用qt creator C ++加载了一个图像:
inputImg=new QImage("C:/Bimap/HUD1.bmp")
并且可以在窗口看到。我希望在5秒后删除此图像并加载另一张图像。
有可能吗?谢谢你的回答。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
在构造函数中分配图像(或至少只分配一次),然后使用索引选择它们。
我还添加了一个numImages
变量,这样您就可以旋转两个以上的图像。
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;
}