【问题标题】: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,它是小部件,做您需要的一切。

    结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多