Qt QListWidget::addItem发出可怕的闪烁

Qt QListWidget::addItem发出可怕的闪烁,qt,qlistwidget,Qt,Qlistwidget,当我一次添加一个项目(添加一个项目,然后返回到事件循环)时,就会发生这种情况。为了举例说明,我的代码大致如下所示: .................... timer = new QTimer(this); timer->setInterval(0); connect(timer, SIGNAL(timeout()), this, SLOT(onTimeout())); .................... void Dialog::onTimeout()

当我一次添加一个项目(添加一个项目,然后返回到事件循环)时,就会发生这种情况。为了举例说明,我的代码大致如下所示:

.................... timer = new QTimer(this); timer->setInterval(0); connect(timer, SIGNAL(timeout()), this, SLOT(onTimeout())); .................... void Dialog::onTimeout() { QListWidgetItem* item = new QListWidgetItem; .................... ui->listWidget->addItem(item); } .................... 计时器=新的QTimer(此); 定时器->设置间隔(0); 连接(计时器、信号(timeout())、此、插槽(onTimeout()); .................... void Dialog::onTimeout() { QListWidgetItem*item=新的QListWidgetItem; .................... ui->listWidget->addItem(项目); }
代码看起来不错。我在本地机器上运行了它,它执行时没有闪烁。您是否正在处理密集的图形(由于Qt在等待事件队列完成时定义超时(0)的方式,即使这样也应该可以)?很可能是其他代码造成的。

感谢您的回复。我忘了提到我正在Linux上使用它(确切地说是Xubuntu猫鼬)。这种闪烁可能是操作系统特有的问题,谁知道呢。无论如何,我将尝试在一个测试项目中自己运行代码,我没有想到要这样做。这很奇怪,即使只有这个代码的测试项目也会出现闪烁。我本来打算给出代码,但我不知道如何将其包装在标签中(
或不起作用)。在文本编辑框(编辑问题时)中,您可以选择文本,然后按代码快速按钮将其格式化为代码显示。我的操作系统是Linux(Xubuntu Meerkat)