我应该如何强制查看更新?我的listView没有更新,只有在我按下显示/隐藏按钮(显示/隐藏此视图)后,我的对话框才会更新视图。
void No_Files_Match_Regex_Dialog::show_files(bool show)
{
current_selection_model_->clear();
if (show) {
current_selection_model_->set_entries(*(caller_->current_selection()));
listView->setModel(current_selection_model_);
listView->setVisible(show);
showFilesBtn->setText("Hide Files");
} else {
listView->setVisible(false);
showFilesBtn->setText("Show Files");
}
}
#include <QtDebug>
void No_Files_Match_Regex_Dialog::another_selection()
{
this->hide();
current_selection_model_->clear();
//caller_->current_selection().clear();
//qDebug() << "Last action: " << caller_->last_add_action_;
caller_->last_add_action_->trigger();
auto tmp = caller_->current_selection();
if (tmp) {
current_selection_model_->set_entries(*tmp);
}
}
答案 0 :(得分:0)
你可以做到
QApplication::processEvents();
处理在事件队列中等待的事件(例如重绘事件)。
如果此命令本身不够,则可以执行
listView->update();
或
listView->viewport()->update;
代替或在致电processEvents()