首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Qt 學習之路 (41):QTableWidget 表格元件實戰入門

     編輯:關於C語言

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

執行畫面預覽

QTableWidget 範例執行畫面

完整程式碼

標頭檔

#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")));
    // ... 其餘儲存格同理填入
}

關鍵 API 解析

  • setColumnCount(int) / setRowCount(int):預先配置表格大小。
  • setHorizontalHeaderLabels(const QStringList &):一次性設定所有欄標題。
  • setItem(int row, int column, QTableWidgetItem *):將項目放入指定儲存格。**行列索引皆從 0 開始**。
  • QTableWidgetItem:每個儲存格的資料載體,支援文字、圖示、對齊、旗標等屬性。

進階提示

  • 若需動態增刪列,可使用 insertRow()、removeRow()。
  • 若資料量大或需即時同步模型,建議改用 QTableView + 自訂 Model(後續章節將介紹)。
  • 表頭可隱藏:horizontalHeader()->setVisible(false)。

本文出自 “豆子空間” 博客,請務必保留此出處:https://devbean.blog.51cto.com/448512/264422

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved