如何在Qt中强制执行绘画?

时间:2017-02-15 10:19:26

标签: c++ qt

我有一个QMainWindow实例,需要读取xml文件。第一个文件包含构建ui和第二个所有元数据的所有必要信息。所以在我的MainWindow open函数中,我想在阅读第一个文件之后绘制ui,如:

MainWindow open范围内的

readFirstFile(QString filename);
update();
readSecondFile(QString filename);

但是上面没有效果。如何在阅读第二个文件之前强制执行绘画?

1 个答案:

答案 0 :(得分:4)

如果您需要立即重新绘制,可以使用repaint()代替update()

来自QWidget::update()

的Qt文档的

  

此功能不会立即重绘;相反,当Qt返回主事件循环时,它会调度一个paint事件进行处理。这允许Qt优化以获得比调用repaint()更快的速度和更少的闪烁。