小编Jas*_*zin的帖子

QT重绘/重绘/更新/做某事

我是QT的新手.我知道你可以强制显示刷新,但我已经把我所有的头发拉出来试图找出方法.这是我特别想要做的.

我按下一个按钮(onClick信号事件),它运行代码,在显示器上更改图像(QLabel),等待输入,然后通过更改新图像(不同的QLabel)继续.我已经尝试了所有内容,直到onclick信号事件代码完成后,显示才会刷新.现在,我不是在等待用户输入,我正在使用usleep(~500 ms)进行测试.

从我读到的内容来看,QT是事件驱动的,这意味着我基本上创建了一堆事件,这些事件被置于一个空闲状态,并在(onClick信号事件)返回到(主循环)/(事件处理程序)时执行.我不想等到函数完成后,如果我必须完全根据事件完成这个例程,它将使编程非常痛苦.

如何强制QLabel像素图刷新.我已经尝试了一切.下面是我在onClick信号事件处理程序中尝试过的所有代码.(upButton是QLabel的名称,是pixmap)

update();
repaint();
ui->upButton->setUpdatesEnabled(TRUE);
update();
repaint();
QPaintEvent paintevent(ui->upButton->childrenRegion());
QPaintEvent * test = &paintevent;
paintEvent(test);
this->changeEvent(test);
ui->upButton->update();
ui->upButton->repaint();
ui->upButton->repaint(ui->upButton->childrenRegion());
repaint();
QApplication::sendPostedEvents();
this->parentWidget()->update();
usleep(100000);
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我现在只是在黑暗中拍摄.我试着查看示例代码并完成所有作业,但我迷路了.感谢任何帮助,建议和/或示例代码.

c++ qt refresh

23
推荐指数
3
解决办法
8万
查看次数

标签 统计

c++ ×1

qt ×1

refresh ×1