列表视图未更新

ListView isn't being updated

本文关键字:更新 视图 列表      更新时间:2023-10-16

我该如何强制view更新自己?我的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);
    }
}

你可以做

QApplication::processEvents();

处理在事件队列中等待的事件(例如重新绘制事件)。

如果这个命令本身还不够,您可以执行

listView->update();

listView->viewport()->update;

代替或在调用processEvents()

之前