我有一个QTableWidget
,我希望用另一个QTableWidget
填充字段。
这就是它的样子:
--------------------------
Name | Class | Section |
---------------------------
| | Some Text |
A | 1 | CheckBox 1 |
| | CheckBox 2 |
---------------------------
我想在部分列的每个字段中添加Table B
,以便我更轻松地处理Table A
中每个项目的每个复选框(主Table
)。
有可能吗?有没有更好的方法来解决这个问题?
答案 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
,而是使用小部件,执行您需要的所有内容。
结果: