如何在QTableWidget表格最后一行之后添加按钮?
在QTableWidget最后一行后添加按钮的实现方法
方案一:表格外部下方添加按钮(最常用)
直接借助Qt的布局系统,把表格和按钮放在同一个垂直布局里,按钮会自动排在表格底部,窗口大小变化时也能自动适配。
代码示例:
// 保留你的表格初始化代码 QTableWidget *t = new QTableWidget(this); t->setColumnCount(4); t->setShowGrid(true); t->setSelectionMode(QAbstractItemView::SingleSelection); t->setSelectionBehavior(QAbstractItemView::SelectRows); t->setHorizontalHeaderLabels({"1", "2", "3", "4"}); t->setWordWrap(true); t->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); t->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); // 创建按钮 QPushButton *addBtn = new QPushButton("新增数据", this); // 创建垂直布局并添加控件 QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(t); layout->addWidget(addBtn); // 给窗口设置主布局 this->setLayout(layout);
方案二:表格内部最后一行嵌入按钮
如果需要把按钮作为表格的一行内容(比如操作行),可以插入新行并将按钮设置为单元格控件:
代码示例:
// 保留你的表格初始化代码 QTableWidget *t = new QTableWidget(this); // ... 你的初始化代码 ... // 插入新行作为表格最后一行 int lastRow = t->rowCount(); t->insertRow(lastRow); // 创建按钮 QPushButton *btn = new QPushButton("操作按钮", t); // 将按钮放到最后一行的第0列 t->setCellWidget(lastRow, 0, btn); // 可选:让按钮跨所有列显示(占满整行) t->setSpan(lastRow, 0, 1, t->columnCount());
内容的提问来源于stack exchange,提问作者volnistii
相关产品推荐
相关产品推荐

