给qtableview的某一列设置按钮,c++
时间: 2024-09-24 09:05:48 浏览: 117
在C++中,特别是Qt库中操作QTableView(表格视图)并为其一列添加按钮,你需要使用`QTableWidgetItem`、`QPushButton`以及`QAbstractItemView::setCellWidget()`等函数。以下是一个简化的步骤示例:
1. 首先,创建一个QPushButton实例:
```cpp
QPushButton *button = new QPushButton("点击 me", this);
```
2. 然后,创建一个`QTableWidgetItem`用于承载这个按钮:
```cpp
QTableWidgetItem *item = new QTableWidgetItem();
item->setSizeHint(button->sizeHint()); // 设置item大小以便容纳按钮
```
3. 将按钮添加到item中:
```cpp
item->setFlags(item->flags() & ~Qt::ItemIsEditable); // 关闭单元格内容编辑,因为这是个按钮
item->setToolTip("这是按钮说明"); // 设置工具提示
button->setParent(item); // 将button与item关联
```
4. 最后,在需要的行数上设置这个item:
```cpp
tableView->setItem(row, column, item);
// 使用setCellWidget代替setItem如果使用Qt5以上的版本,因为cellWidget支持更复杂的控件布局
tableView->setCellWidget(row, column, button);
```
注意,这里的`row`和`column`分别是你想放置按钮的行号和列号。
阅读全文
相关推荐


















