C++ Qtablewidge添加窗口控件例子
时间: 2023-07-19 09:18:16 浏览: 52
以下是使用QTableWidget添加窗口控件的示例代码:
```c++
#include <QApplication>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QComboBox>
#include <QPushButton>
#include <QWidget>
#include <QHBoxLayout>
#include <QVBoxLayout>
class MyTableWidget : public QTableWidget
{
public:
MyTableWidget(QWidget *parent = nullptr) : QTableWidget(parent)
{
// 设置表格大小和列数
setRowCount(5);
setColumnCount(3);
// 添加控件
for (int i = 0; i < rowCount(); i++)
{
// 添加下拉框
QComboBox *combo_box = new QComboBox();
combo_box->addItem("选项1");
combo_box->addItem("选项2");
combo_box->addItem("选项3");
setCellWidget(i, 0, combo_box);
// 添加按钮
QPushButton *button = new QPushButton("按钮");
setCellWidget(i, 1, button);
// 添加文本框
QTableWidgetItem *item = new QTableWidgetItem("文本框");
setItem(i, 2, item);
}
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *widget = new QWidget();
QVBoxLayout *layout = new QVBoxLayout(widget);
MyTableWidget *table = new MyTableWidget(widget);
layout->addWidget(table);
widget->show();
return app.exec();
}
```
在这个例子中,我们创建了一个继承自QTableWidget的自定义类MyTableWidget。在构造函数中,我们设置了表格的行数和列数,并使用setCellWidget和setItem方法向表格中添加了控件。其中,第一列添加了一个下拉框,第二列添加了一个按钮,第三列添加了一个文本框。
最后,我们将这个自定义表格控件添加到一个QWidget中,并将QWidget显示出来。