c++ qtablewidgetitem添加QPushButton居中显示
时间: 2023-09-24 18:12:04 浏览: 149
要将QPushButton在QTableWidget的单元格中居中显示,您可以使用setCellWidget()函数将按钮添加为单元格的小部件,并使用setTextAlignment()函数将单元格的文本对齐方式设置为居中。以下是一个示例代码:
```cpp
#include <QApplication>
#include <QTableWidget>
#include <QPushButton>
#include <QTableWidgetItem>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTableWidget tableWidget(3, 2);
for(int row = 0; row < tableWidget.rowCount(); ++row)
{
for(int col = 0; col < tableWidget.columnCount(); ++col)
{
QPushButton *button = new QPushButton("Click me");
QTableWidgetItem *item = new QTableWidgetItem();
// 设置单元格文本对齐方式为居中
item->setTextAlignment(Qt::AlignCenter);
// 将按钮设置为单元格的小部件
tableWidget.setCellWidget(row, col, button);
// 将自定义的QTableWidgetItem添加到单元格中
tableWidget.setItem(row, col, item);
}
}
// 设置表格的单元格大小适应内容
tableWidget.resizeColumnsToContents();
tableWidget.resizeRowsToContents();
tableWidget.show();
return app.exec();
}
```
这段代码创建了一个3x2的表格,并在每个单元格中添加了一个按钮。通过将单元格的文本对齐方式设置为居中,按钮将在单元格中居中显示。注意,在显示表格之前,我们还调用了resizeColumnsToContents()和resizeRowsToContents()函数,以便使单元格大小适应内容。