QTableCellWidget 没有隐藏
QTableCellWidget is not hiding
我使用 setCellWidget
方法在 QTableWidget
中放置了一个小部件。
但是当我调用 cellWidget(row,col)->hide()
或 cellWidget(row,col)->setEnable(false)
时,小部件没有隐藏。
谁能提出解决方案?我正在使用 Qt 5.5.0
您可以通过覆盖派生 QTableWidget 中的 paintEvent 来绕过上述错误 class 并在 QTableWidget 完成绘制后隐藏小部件。
DerivedQTableWidget::paintEvent(QPaintEvent * e)
{
QTableWidget::paintEvent(e);
// do the hiding here
}
很抱歉我迟到的回答,但它可能对其他人有用:
最简单的工作解决方案是更改小部件的父级。你可以制作一个假对象并将其设置为父对象。
QWidget* fake= new QWidget;
QWidget* cell = ui->tableWidget->cellWidget(row, col);
cell ->setParent(fake);
我使用 setCellWidget
方法在 QTableWidget
中放置了一个小部件。
但是当我调用 cellWidget(row,col)->hide()
或 cellWidget(row,col)->setEnable(false)
时,小部件没有隐藏。
谁能提出解决方案?我正在使用 Qt 5.5.0
您可以通过覆盖派生 QTableWidget 中的 paintEvent 来绕过上述错误 class 并在 QTableWidget 完成绘制后隐藏小部件。
DerivedQTableWidget::paintEvent(QPaintEvent * e)
{
QTableWidget::paintEvent(e);
// do the hiding here
}
很抱歉我迟到的回答,但它可能对其他人有用: 最简单的工作解决方案是更改小部件的父级。你可以制作一个假对象并将其设置为父对象。
QWidget* fake= new QWidget;
QWidget* cell = ui->tableWidget->cellWidget(row, col);
cell ->setParent(fake);