QTableWidget 是 Qt 預定義 Item View 類別的最後一員,用法同樣直觀。本篇透過完整範例示範如何建立可編輯的表格,並說明核心 API 用法。

#ifndef TABLEWIDGET_H
#define TABLEWIDGET_H
#include <QtGui>
class TableWidget : public QWidget
{
public:
TableWidget();
private:
QTableWidget *table;
};
#endif // TABLEWIDGET_H
TableWidget::TableWidget()
{
table = new QTableWidget(this);
table->setColumnCount(3); // 3 欄
table->setRowCount(5); // 5 列
// 設定水平表頭
QStringList headers;
headers << "Line Number" << "ID" << "Name" << "Age" << "Sex";
table->setHorizontalHeaderLabels(headers);
// 填入資料:setItem(row, column, item)
table->setItem(0, 0, new QTableWidgetItem(QString("1")));
table->setItem(1, 0, new QTableWidgetItem(QString("2")));
table->setItem(2, 0, new QTableWidgetItem(QString("3")));
table->setItem(3, 0, new QTableWidgetItem(QString("4")));
table->setItem(4, 0, new QTableWidgetItem(QString("5")));
table->setItem(0, 1, new QTableWidgetItem(tr("20100112")));
// ... 其餘儲存格同理填入
}
setColumnCount(int) / setRowCount(int):預先配置表格大小。setHorizontalHeaderLabels(const QStringList &):一次性設定所有欄標題。setItem(int row, int column, QTableWidgetItem *):將項目放入指定儲存格。**行列索引皆從 0 開始**。QTableWidgetItem:每個儲存格的資料載體,支援文字、圖示、對齊、旗標等屬性。insertRow()、removeRow()。horizontalHeader()->setVisible(false)。本文出自 “豆子空間” 博客,請務必保留此出處:https://devbean.blog.51cto.com/448512/264422