作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 QProgressDialog
来显示我的 initializeGL()
函数的进度,但是小窗口显示为未绘制...这是简化的代码:
QProgressDialog barTest("Wait","Ok", 0, 100, this);
barTest.move(400,400);
barTest.show();
for(int i = 0; i < 100; i++)
{
barTest.setValue(i);
qDebug() << i;
}
我正在运行 Mac OS 10.8
最佳答案
问题是,只要您正在执行代码(例如 for
循环),窗口的绘制事件就会卡在 Qt 的事件循环中。
如果你想处理绘制事件,你可以使用QApplication::processEvents :
for(int i = 0; i < 100; i++)
{
barTest.setValue(i);
qDebug() << i;
// handle repaints (but also any other event in the queue)
QApplication::processEvents();
}
根据循环的速度,您可能会发现仅更新每 10% 就足够了,例如:
for(int i = 0; i < 100; i++)
{
barTest.setValue(i);
qDebug() << i;
// handle repaints (but also any other event in the queue)
if(i % 10 == 0) QApplication::processEvents();
}
关于c++ - QProgressDialog 在 initializeGL 期间不绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17272773/
void MyGlWidget::initializeGL() { try { throw std::exception(); } catch(...) {
我正在使用 QProgressDialog 来显示我的 initializeGL() 函数的进度,但是小窗口显示为未绘制...这是简化的代码: QProgressDialog barTest("Wai
PRE:灯光绘制正确。 问题:由于模型更改而手动删除灯光(或强制 initializeGL())时,无论如何都会绘制灯光。 如果我加载一个新模型,所有旧对象灯都会在新模型中绘制。我正在使用 QT 的
如标题所示,在 Qt 内部,我无法使用或调用 QGLWidget 函数之外的任何 OpenGL 函数,例如 initializeGL() 和 paintGL() . 在从我的 QMainWindow
我是一名优秀的程序员,十分优秀!