c++ - 如何在Qt中强制绘画?

标签 c++ qt

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

MainWindowopen 范围内:

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

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

最佳答案

如果您需要立即重绘,您可以使用 repaint() 而不是 update()

来自 QWidget::update() 的 Qt 文档

This function does not cause an immediate repaint; instead it schedules a paint event for processing when Qt returns to the main event loop. This permits Qt to optimize for more speed and less flicker than a call to repaint() does.

关于c++ - 如何在Qt中强制绘画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42246526/

相关文章:

c++ - 指向数组的指针 C++

c++ - T::* 在函数参数列表的声明中表示什么?

c++ - 使用 C++/Qt 的上下文菜单

c++ - 如果用户将字母作为输入,则重新输入年龄

c++ - 提取单个像素数据的最快方法?

c++ - 为什么我不能在类中另一个函数的声明中使用静态 constexpr 的结果?

qt - 向 QPushbutton 禁用动画的样式表添加填充

c++ - 不匹配 'operator* in ' (1.0e + 0 - ((double)u)) * bezPoints[i][(j + 1)]'

c++ - QMetaObject::invokeMethod:使用继承时没有这样的方法

c++ - 用模板实现虚函数的覆盖机制