【问题标题】:Is it possible to add a QTableWidget inside another QTableWidget?是否可以在另一个 QTableWidget 中添加 QTableWidget?
【发布时间】:2014-11-14 02:46:48
【问题描述】:
我有一个QTableWidget,我想用另一个QTableWidget 填充字段。
它看起来像这样:
--------------------------
Name | Class | Section |
---------------------------
| | Some Text |
A | 1 | CheckBox 1 |
| | CheckBox 2 |
---------------------------
我想在部分列的每个字段中添加一个Table B,以便我更容易处理Table A(主要Table)中每个项目的每个复选框。
有可能吗?有没有更好的方法来解决这个问题?
【问题讨论】:
标签:
c++
qt
qt5
qtablewidget
qtablewidgetitem
【解决方案1】:
改用自定义小部件:
QWidget *wgt = new QWidget();
QVBoxLayout *hlayout = new QVBoxLayout;
QCheckBox *check1 = new QCheckBox("1");
QCheckBox *check2 = new QCheckBox("2");
QLineEdit *lineEdit = new QLineEdit;
lineEdit->setText("test");
hlayout->addWidget(lineEdit);
hlayout->addWidget(check1);
hlayout->addWidget(check2);
wgt->setLayout(hlayout);
ui->tableWidget->setCellWidget(0,2,wgt);
ui->tableWidget->resizeRowsToContents();
使用setCellWidget,您还可以添加另一个QTableWidget,但我认为QWidget 就足够了。
您可以添加例如:lineEdit->setStyleSheet("border:0px");,您的 lineEdit 将没有边框,或者只使用 QLabel,它是小部件,做您需要的一切。
结果: