当我调整Dialog的大小时,为什么QTableView被漆成黑色?

时间:2013-10-30 11:09:38

标签: qt qtableview qdialog qtsql

调整大小时我遇到问题,我在点击信号中执行此操作:

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,它不会涂成黑色,但我不能这样做。谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我找到了一个临时解决方案。希望这有帮助

在调整作业大小之前隐藏QTableWidget或QTableView:

tableWidget->hide();

完成调整大小后,显示QTableWidget或QTableView:

tableWidget->show();

它可能会导致旧系统闪烁........但我认为任何系统都不会那么老。 :)