ListView не обновляется - PullRequest
       1

ListView не обновляется

0 голосов
/ 12 декабря 2011

Что / как мне заставить вид обновляться? Мой 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);
    }
}

1 Ответ

0 голосов
/ 12 декабря 2011

Вы можете сделать

QApplication::processEvents();

для обработки событий, ожидающих в очереди событий (например, перерисовывать события).

Если этой команды недостаточно, вы можете сделать

listView->update();

или

listView->viewport()->update;

вместо или перед звонком processEvents()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...