QTableCellWidget未隐藏

问题描述 投票:0回答:2

我已使用QTableWidget方法将小部件放置在setCellWidget中。

但是当我打电话给cellWidget(row,col)->hide()cellWidget(row,col)->setEnable(false)时,小部件没有隐藏。

有人可以提出解决方案吗?我正在使用Qt 5.5.0

qt qtablewidget
2个回答
0
投票

您可以通过在派生的QTableWidget类中重写paintEvent并在QTableWidget完成绘制后隐藏小部件来绕过所提到的错误。

DerivedQTableWidget::paintEvent(QPaintEvent * e)
{
   QTableWidget::paintEvent(e);

   // do the hiding here
}

0
投票

[抱歉,我的回答很晚,但对其他人可能有用:最简单的解决方案是更改窗口小部件的父级。您可以制作一个假对象并将其设置为父对象。

QWidget* fake= new QWidget;
QWidget* cell = ui->tableWidget->cellWidget(row, col);
cell ->setParent(fake);
© www.soinside.com 2019 - 2024. All rights reserved.