1

我有一个QTableWidget我想在字段上填充另一个QTableWidget.

这是它的样子:

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

我想Table B在 section 列的每个字段中添加一个,以便我更容易处理Table A(main Table) 中每个项目的每个复选框。

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

4

1 回答 1

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它,它是小部件,做您需要的一切。

结果:

在此处输入图像描述

于 2014-11-13T18:34:57.163 回答