环境:Ubuntu的,Qt Creator的Qt可以不响应按键事件立即
在我的Qt应用程序,我发现有时Qt不给我按键事件立即作出反应,但如果我等待一段时间,它最终回应。
我觉得有些东西阻塞了用户界面。我知道,如果Qt的组件(QWidget
等)被破坏,Qt UI将被阻止。我检查了我的代码,当按下上/下键时,没有组件被销毁。 我真的很想知道有没有其他东西可以阻止Qt UI。
{
...
connect(webViewWidget, SIGNAL(loadfinished()), this, SLOT(addItem()));
...
}
void addItem()
{
delete webViewWidget; // will this delete block UI?
mListWidget = new ScrollWidget();
mScrollArea = new ScrollArea(this);
for(int i=0; i<Datalen; i++)
{
mListWidget->addSubItem(itemWidget);
}
}
void keyPressEvent(QKeyEvent *event)
{
switch(event->key)
{
case UP_KEY:
scroll up;
break;
case DOWN_KEY:
scroll down;
break;
default:
break;
}
}
展示一个简单的示例代码,你是如何准确地看到这一点。 – rubenvb
我不知道哪个代码导致了这一点,我只是想知道阻止UI的哪个位置。据我所知,被毁坏的QWidget会导致这种情况。那还有别的吗?谢谢。 – user1437008
@rubenvb你介意我伪装成伪码吗? – user1437008