Почему QTableView окрашивается в черный цвет, когда я изменяю размер диалогового окна?

У меня проблема, когда функция изменения размера, я делаю это в сигнале клика:

if(ShowingDetails){
    ui->BtShowingData->setText("<< Hide details");
    //this->setMaximumWidth(1050);
    //this->setMinimumWidth(1050);
    this->resize(1050, height());
}else {
    ui->BtShowingData->setText("Show details >>");
    //this->setMaximumWidth(750);
    //this->setMinimumWidth(750);
    this->resize(750, height());
}

Метод resize делает свое дело, но у меня два QTableView (с фильтрацией) и когда окна вырастают, Таблицы окрашиваются в черный цвет, если я на них нажимаю, возвращаются в нормальное состояние. Я использовал ui->TbViewDatosNewAlum->repaint();, но ничего не произошло. Если я обновлю QSqlTableModel, он не будет окрашен в черный цвет, но я не могу этого сделать. Спасибо за ваше время.


person bluesky777    schedule 30.10.2013    source источник
comment
Пожалуйста, кто-нибудь может мне помочь? не знаю как это исправить :(   -  person bluesky777    schedule 09.11.2013


Ответы (1)


У меня была такая же проблема, и я нашел временное решение. Надеюсь это поможет

Перед выполнением задания по изменению размера скройте QTableWidget или QTableView:

tableWidget->hide();

После завершения изменения размера покажите QTableWidget или QTableView:

tableWidget->show();

Это может вызвать мерцание в старых системах ........ но я не думаю, что какая-либо система настолько старая. :)

person Newbi    schedule 01.04.2014
comment
Чтобы отформатировать код, просто убедитесь, что перед ним есть пустая строка, и сделайте отступ во всем коде не менее 4 пробелов. Вы также можете использовать значок { } в редакторе, чтобы сделать отступ сразу для нескольких строк. - person larsAnders; 01.04.2014