是否可以在另一个QTableWidget中添加QTableWidget?

时间:2014-11-13 17:59:09

标签: c++ qt qt5 qtablewidget qtablewidgetitem

我有一个QTableWidget,我希望用另一个QTableWidget填充字段。

这就是它的样子:

--------------------------
Name | Class | Section    |
---------------------------
     |       | Some Text  |
 A   |  1    | CheckBox 1 |
     |       | CheckBox 2 |
---------------------------

我想在部分列的每个字段中添加Table B,以便我更轻松地处理Table A中每个项目的每个复选框(主Table )。

有可能吗?有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:3)

改为使用自定义小部件:

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,而是使用小部件,执行您需要的所有内容。

结果:

enter image description here