Qt常用控件之表格QTableWidget

表格QTableWidget

QTableWidget 是一個表格控件,行和列交匯形成的每個單元格,是一個 QTableWidgetItem 對象。

1. QTableWidget屬性

QTableWidget 的屬性只有兩個:

屬性說明
rowCount當前行的個數。
columnCount當前列的個數。

2. QTableWidget信號

信號說明
cellClicked(int row, int column)點擊單元格時觸發。
cellDoubleClicked(int row, int column)雙擊單元格時觸發。
cellEntered(int row, int column)鼠標進入單元格時觸發。
currentCellChanged(int row, int column,int previousRow, int previousColumn)選中不同單元格時觸發。

3. QTableWidget方法

方法說明
item(int row, int column)根據行數列數獲取單元格的 QTableWidgetItem*
setItem(int row, int column, QTableWidgetItem*)根據行數列數設置單元格中的元素。
currentItem()返回被選中的元素 QTableWidgetItem*
currentRow()返回被選中的是第幾行。
currentColumn()返回被選中的是第幾列。
row(QTableWidgetItem*)獲取指定 item 是第幾行。
column(QTableWidgetItem*)獲取指定 item 是第幾列。
rowCount()獲取行數。
columnCount()獲取列數。
insertRow(int row)在第 row 行處插入新行(新行變為第 row 行)。
insertColumn(int column)在第 column 列插入新列(新列變為第 column 列)。
removeRow(int row)刪除第 row 行。
removeColumn(int column)刪除第 column 列。
setHorizontalHeaderItem(int column, QTableWidget*)設置指定列的表頭。
setVerticalHeaderItem(int row, QTableWidget*)設置指定行的表頭。

4. QTableWidgetItem方法

方法說明
row()獲取當前是第幾行。
column()獲取當前是第幾列。
setText(const QString&)設置文本。
setTextAlignment(int)設置文本對齊。
setIcon(const QIcon&)設置圖標。
setSelected(bool)設置能否被選中。
setSizeHints(const QSize&)設置尺寸。
setFont(const QFont&)設置字體。

5. 使用QTableWidget制作一個表格編輯器

表格編輯器的大部分功能 Qt 都已經提供了,我們只需要制作幾個添加行首、列首之類的接口即可:

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->lineEdit->setPlaceholderText("輸入新增的列名");
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_addRow_clicked()
{int row =ui->tableWidget->rowCount();ui->tableWidget->insertRow(row);
}void Widget::on_pushButton_addColumn_clicked()
{QString content=ui->lineEdit->text();if(content.isEmpty()){return;}int column =ui->tableWidget->columnCount();ui->tableWidget->insertColumn(column);ui->tableWidget->setHorizontalHeaderItem(column,new QTableWidgetItem(content));}void Widget::on_pushButton_deleteRow_clicked()
{int curRow=ui->tableWidget->currentRow();ui->tableWidget->removeRow(curRow);
}void Widget::on_pushButton_deleteColumn_clicked()
{int curColumn=ui->tableWidget->currentColumn();ui->tableWidget->removeremoveColumn(curColumn);
}

QTableWidget1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71668.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71668.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71668.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Golang學習筆記_47——訪問者模式

Golang學習筆記_44——命令模式 Golang學習筆記_45——備忘錄模式 Golang學習筆記_46——狀態模式 文章目錄 一、核心概念1. 定義2. 解決的問題3. 核心角色4. 類圖 二、特點分析三、適用場景1. 編譯器實現2. 財務系統3. UI組件系統 四、Go語言實現示例完整實現代碼執行結果 五、…

棧概念和結構

文章目錄 1. 棧的概念2. 棧的分類3. 棧的實現(數組棧)3.1 接口設計(Stack.h)3.2 接口實現(Stack.c)1)初始化銷毀2)棧頂插入刪除3)棧頂元素、空棧、大小 3.3 完整代碼Stac…

GitCode 助力 vue3-element-admin:開啟中后臺管理前端開發新征程

源碼倉庫: https://gitcode.com/youlai/vue3-element-admin 后端倉庫: https://gitcode.com/youlai/youlai-boot 開源助力,開啟中后臺快速開發之旅 vue3-element-admin 是一款精心打造的免費開源中后臺管理前端模板,它緊密貼合…

算法.習題篇

算法 — 地大復試 模擬 while循環和MOD循環計數 1.約瑟夫問題 http://bailian.openjudge.cn/practice/3254 using namespace std;bool isNoPeople(vector<bool> c)//判斷當前數組是否一個小孩都沒有了 {bool nopeople true;for (bool ival : c){if ( ival true)nop…

大白話JavaScript實現一個函數,將字符串中的每個單詞首字母大寫。

大白話JavaScript實現一個函數&#xff0c;將字符串中的每個單詞首字母大寫。 答題思路 理解需求&#xff1a;要寫一個函數&#xff0c;它能接收一個字符串&#xff0c;然后把這個字符串里每個單詞的第一個字母變成大寫。分解步驟 拆分單詞&#xff1a;一般單詞之間是用空格隔…

react中如何使用使用react-redux進行數據管理

以上就是react-redux的使用過程&#xff0c;下面我們開始優化部分&#xff1a;當一個組件只有一個render生命周期&#xff0c;那么我們可以改寫成一個無狀態組件&#xff08;UI組件到無狀態組件&#xff0c;性能提升更好&#xff09;

廣告營銷,會被AI重構嗎?

DeepSeek設計&#xff0c;即夢AI繪圖&#xff0c;剪映成片。 DeepSeek的熱度還在高開瘋走。 用戶對于各個場景下DS應用的探索也還在持續&#xff0c;各種DS的模式被挖掘出來&#xff0c;超級個體們開始給手下的大模型團隊進行分工&#xff0c;實踐出各種場景下最佳的排列組合方…

國產編輯器EverEdit - 宏功能介紹

1 宏 1.1 應用場景 宏是一種重復執行簡單工作的利器&#xff0c;可以讓用戶愉快的從繁瑣的工作中解放出來&#xff0c;其本質是對鍵盤和菜單的操作序列的錄制&#xff0c;并不會識別文件的內容&#xff0c;屬于無差別無腦執行。 特別是對一些有規律的重復按鍵動作&#xff0c;…

vscode離線配置遠程服務器

目錄 一、前提 二、方法 2.1 查看vscode的commit_id 2.2 下載linux服務器安裝包 2.3 安裝包上傳到遠程服務器&#xff0c;并進行文件解壓縮 三、常見錯誤 Failed to set up socket for dynamic port forward to remote port&#xff08;vscode報錯解決方法&#xff09;-C…

OmniDrive(1): 論文解讀

多模態大語言模型(MLLMs)的發展推動了基于 LLM 的自動駕駛研究,以利用其強大的推理能力。然而,利用多模態大語言模型(MLLMs)強大的推理能力來改進planning具有挑戰性,因為這需要超越二維推理的完整三維情境感知能力。因為這不單單需要 2D 推理還需要完整的 3D 場景感知能…

ubuntu22.04安裝RAGFlow配合DeepSeek搭建本地知識庫

一、簡介 RAGFlow 是一個基于對文檔的深入理解的開源 RAG&#xff08;檢索增強生成&#xff09;引擎。當與 LLM 集成時&#xff0c;它能夠提供真實的問答功能&#xff0c;并以來自各種復雜格式數據的有根據的引用為后盾。 二、安裝 1.環境要求 CPU ≥ 4 核 &#xff08;x86…

Android AudioFlinger(四)—— 揭開PlaybackThread面紗

前言&#xff1a; 繼上一篇Android AudioFlinger&#xff08;三&#xff09;—— AndroidAudio Flinger 之設備管理我們知道PlaybackThread繼承自Re’fBase&#xff0c; 在被第一次引用的時候就會調用onFirstRef&#xff0c;實現如下&#xff1a; void AudioFlinger::Playbac…

個人電腦本地部署DeepSeek來離線使用

文章目錄 前言軟件下載DeepSeek部署ChatBox集成 前言 最近這段時間&#xff0c;“DeepSeek”&#xff08;深度求索&#xff09;人工智能平臺非常的火爆&#xff0c;正確的使用可以幫我們做很多很多事情&#xff0c;通常我們是在瀏覽器網頁或手機APP使用&#xff0c;但是有時會…

第一:goland安裝

GOPROXY (會話臨時性)&#xff0c;長久的可以在配置文件中配置 go env -w GOPROXYhttps://goproxy.cn,direct 長久的&#xff0c;在~/.bashrc文件中添加&#xff1a; export GOPROXYhttps://goproxy.cn,direct &#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d…

介紹一下Qt中的事件過濾

在 Qt 中&#xff0c;事件過濾&#xff08;Event Filter&#xff09;是一種強大的機制&#xff0c;它允許一個對象攔截并處理另一個對象接收到的事件。通過事件過濾&#xff0c;可以在事件到達目標對象之前對其進行監控和修改&#xff0c;這在很多場景下都非常有用&#xff0c;…

Go紅隊開發—格式導出

文章目錄 輸出功能CSV輸出CSV 轉 結構體結構體 轉 CSV端口掃描結果使用CSV格式導出 HTML輸出Sqlite輸出nmap掃描 JSONmap轉json結構體轉jsonjson寫入文件json編解碼json轉結構體json轉mapjson轉string練習&#xff1a;nmap掃描結果導出json格式 輸出功能 在我們使用安全工具的…

SwanLab簡明教程:從萌新到高手

目錄 1. 什么是SwanLab&#xff1f; 1.1 核心特性 2. 安裝SwanLab 3. 登錄SwanLab賬號&#xff08;云端版&#xff09; 4. 5分鐘快速上手 更多案例 5. SwanLab功能組件 5.1 圖表視圖 5.2 表格視圖 5.3 硬件監控 5.4 環境記錄 5.5 組織協同 6. 訓練框架集成 6.1 基…

2025天梯訓練1

PTA | L3-1 直搗黃龍 30分 思路&#xff1a;多關鍵字最短路&#xff0c;同時還要記錄最短路徑條數。 typedef struct node{int from,d,pass,kl;bool operator<(const node &x)const{if(d!x.d) return d>x.d;if(pass!x.pass) return pass<x.pass;return kl<x.…

EasyRTC嵌入式視頻通話SDK的跨平臺適配,構建web瀏覽器、Linux、ARM、安卓等終端的低延遲音視頻通信

1、技術背景 WebRTC是一項開源項目&#xff0c;旨在通過簡單的API為瀏覽器和移動應用程序提供實時通信&#xff08;RTC&#xff09;功能。它允許在無需安裝插件或軟件的情況下&#xff0c;實現點對點的音頻、視頻和數據傳輸。 WebRTC由三個核心組件構成&#xff1a; GetUserM…

【git】ssh配置提交 gitcode-ssh提交

【git】ssh配置提交 gitcode-ssh提交 之前一直用的是gitee和阿里云的倉庫&#xff0c;前兩天想在gitcode上面備份一下我的打洞代碼和一些資料 就直接使用http克隆了下來 。 在提交的時候他一直會讓我輸入賬號和密碼&#xff0c;但是我之前根本沒有設置過這個&#xff0c;根本沒…