Qt/C++學習系列之列表使用記錄

Qt/C++學習系列之列表使用記錄

  • 前言
  • 列表的初始化
    • 界面
    • 初始化設置
      • 名稱獲取
      • 簡單設置
  • 單元格存儲
  • 總結


前言

列表的使用主要基于QTableWidget控件,同步使用QTableWidgetItem進行單元格的設置,最后可以使用QAxObject進行單元格的數據讀出將數據進行存儲。接下來就開始列表的設置和保存吧!


列表的初始化

界面

列表控件可以在界面上使用QTableWidget控件。
在這里插入圖片描述

初始化設置

名稱獲取

// 獲取 ui 中的 QTableWidget
QTableWidget *tableWidget = ui->TabWid_Result;
  • 獲取界面中的QTableWidget的名稱,為了后續初始化的使用。

簡單設置

tableWidget->setRowCount(n);
tableWidget->setColumnCount(m);
  • 設置表格的行數和列數
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
  • 設置表格為不可編輯:一般是結果顯示中,不需要表格輸入,只是結果輸出進行設置。
tableWidget->horizontalHeader()->setVisible(false);  
tableWidget->verticalHeader()->setVisible(true);    
  • 顯示默認的水平表頭
  • 隱藏默認的垂直表頭
  • 表頭的設置可具體實際的需要進行顯示或隱藏。
tableWidget->setColumnWidth(col, 80); 
tableWidget->setRowHeight(row, 50);
  • 設置每列寬度的像素
  • 設置每行高度的像素。
QTableWidgetItem *emptyItem = new QTableWidgetItem("\\");
emptyItem->setBackground(Qt::lightGray); 
tableWidget->setItem(i, j, emptyItem);
  • 單元格填充使用QTableWidgetItem
  • setBackground是來設置單元格的背景色
  • 將單元格內容填充到單元格內

如何合并單元格!

tableWidget->setSpan(0, 0, 1, 12);
  • void setSpan(int row, int column, int rowSpan, int columnSpan);:這里就是初始的行列到擴展的行列。
    在這里插入圖片描述
    這里要注意,如果需要存儲,那么第三行一定要有數據內容,不然程序會崩!

單元格存儲

QAxObject* excel = new QAxObject();
  • 定義表格。
QAxObject* workbooks = excel->querySubObject("Workbooks");
QAxObject* workbook = workbooks->querySubObject("Add()");
  • 添加新的工作薄。
QAxObject* sheets = workbook->querySubObject("Worksheets");
QAxObject* sheet = sheets->querySubObject("Item(int)", 1); // 第一個工作表
  • 獲取活動的第一個工作表
int romCount = ui->TabWid_Result->rowCount();
int colCount = ui->TabWid_Result->columnCount();
  • 獲取總行數
  • 獲取總列數
QAxObject* biaotou=sheet->querySubObject("Cells (int,int)", 1, 1);
biaotou->dynamicCall("SetValue(const QVariant&)", QVariant("xx"));
biaotou->setProperty("RowHeight", 30); // 設置寬度為20
biaotou->setProperty("Size", 20); // 設置寬度為20
  • 這里是獲取單元格對象。
  • dynamicCall設置單元格的內容。
  • setProperty是根據不同的內容進行數據設置。

如何獲取實際列表值進行excel數據寫入呢?

QString str1=ui->TabWid_Result->item(i,j)->text();
QAxObject* danyuange3=sheet->querySubObject("Cells (int,int)", i, j);
danyuange3->dynamicCall("SetValue(const QVariant&)", QVariant(str1));
  • 獲取表格內容,形成QString
  • querySubObject:獲取 Excel 單元格對象
  • 通過dynamicCall將內容寫入QAxObject中。
    在這里插入圖片描述

總結

本文主要簡單介紹了表格的簡單使用,并做了存儲設置。

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

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

相關文章

防火墻通常可以分為哪些類型?

防火墻是目前保護網絡安全的重要設備,能夠通過監控、過濾和控制進出網絡的數據流量,來保護內部網絡不會受到未經授權的IP地址進行訪問和惡意的網絡威脅,設置防火墻能夠幫助企業確保網絡的安全性,同時防火墻也會根據不同的功能來劃…

基于GeoTools的道路相交多個點容差冗余計算實戰

目錄 前言 一、關于道路相交 1、相交四個點 2、點更多的情況 二、基于距離的相交點去重 1、冗余距離計算 2、調用過程 3、去重后的結果 三、總結 前言 在地理信息系統(GIS)領域,道路網絡數據的處理與分析一直是關鍵課題。隨著城市化進…

android:foregroundServiceType詳解

在 Android 中,foregroundServiceType 是用于聲明前臺服務類型的屬性,主要從 Android 10(API 29)開始引入,并在 Android 11(API 30)及更高版本 中進一步細化。以下是所有可用的 foregroundServi…

React+Taro 微信小程序做一個頁面,背景圖需貼手機屏幕最上邊覆蓋展示

話不多說 直接上圖 第一步 import { getSystemInfoSync } from tarojs/taro;第二步 render() {const cardBanner getImageUrlByGlobal(member-merge-bg.png);const { safeArea, statusBarHeight } getSystemInfoSync();const NAV_BAR_HEIGHT 44;const navBarHeight NAV…

從零開始的云計算生活——番外,實戰腳本。

目錄 題目一:系統信息收集腳本 題目二:用戶管理配置腳本 題目三:磁盤空間管理腳本 題目四:網絡配置檢查腳本 題目五:系統日志分析腳本 題目一:系統信息收集腳本 編寫一個腳本名為 collect_system_info…

MySQL基礎知識(DDL、DML)

什么是數據庫? 數據庫:英文為 DataBase,簡稱DB,它是存儲和管理數據的倉庫。 注釋: 單行注釋:-- 注釋內容 或 # 注釋內容(MySQL特有)多行注釋: /* 注釋內容 */ 分類 SQL語句根據其功能被分為…

用volatile修飾數組代表什么意思,Java

文章目錄 volatile 修飾數組引用的含義volatile 對數組元素無效總結 如何讓數組元素也具有 volatile 特性? 當用 volatile 關鍵字修飾一個數組時,它只保證數組引用的可見性和部分原子性,而不保證數組元素的可見性和原子性。 換句話說&#x…

Ubuntu 24.04 LTS 長期支持版發布:對服務器用戶意味著什么?新特性、升級建議與性能影響初探

更多云服務器知識,盡在hostol.com 在服務器運維的廣闊世界里,每一次主流操作系統長期支持(LTS)版本的發布,都無異于一次重要的“時代交替”。它不僅帶來了一系列令人矚目的技術革新,更重要的是&#xff0c…

題目 3241: 藍橋杯2024年第十五屆省賽真題-挖礦

題目 3241: 藍橋杯2024年第十五屆省賽真題-挖礦 時間限制: 3s 內存限制: 512MB 提交: 1267 解決: 224 題目描述 小藍正在數軸上挖礦,數軸上一共有 n 個礦洞,第 i 個礦洞的坐標為 ai 。小藍從 0 出發,每次可以向左或向右移動 1 的距離&#xf…

vue3+ts+vite創建的后臺管理系統筆記

Vue3+ Vite + Element-Plus + TypeScript 從0到1搭建企業級后臺管理系統(前后端開源):參考有來科技學習搭建項目 創建項目bug匯總,知識點src 路徑別名配置和tsconfig.json文件報錯【這個不配置好,會引起其他頁面引用時報錯:見--整合 Pinia】:整合 Pinia 【參考-- src 路徑…

指針01 day13

十三:指針變量 一:數據類型 ? 指針類型---------對應處理的數據是指針 (地址)這種數據 ? 整型類型---------對應處理的數據是整數這種類型 二:定義指針類型的變量 ? 語法: 基類型(1) *(…

基于深度學習的智能文本生成:從模型到應用

前言 隨著人工智能技術的飛速發展,自然語言處理(NLP)領域取得了顯著的進展。其中,智能文本生成技術尤其引人注目。從聊天機器人到內容創作,智能文本生成不僅能夠提高效率,還能創造出令人驚嘆的內容。本文將…

Oracle業務用戶的存儲過程個數及行數統計

Oracle業務用戶的存儲過程個數及行數統計 統計所有業務用戶存儲過程的個數獨立定義的存儲過程定義在包里的存儲過程統計所有業務用戶存儲過程的總行數獨立定義的存儲過程定義在包里的存儲過程通過DBA_SOURCE統計類型個數和代碼行數?? 對存儲過程進行統計主要用到以下三個系統…

多線程安全:核心解決方案全解析

在多線程環境下保證共享變量的線程安全,需解決原子性、可見性、有序性三大問題。以下是核心解決方案及適用場景: 一、同步鎖機制(互斥訪問) synchronized 關鍵字 原理:通過 JVM 監視器鎖(Monitor)確保同一時間僅一個線程訪問臨界區。示例:public class Counter {privat…

2025-06-01-Hive 技術及應用介紹

Hive 技術及應用介紹 參考資料 Hive 技術原理Hive 架構及應用介紹Hive - 小海哥哥 de - 博客園https://cwiki.apache.org/confluence/display/Hive/Home(官方文檔) Apache Hive 是基于 Hadoop 構建的數據倉庫工具,它為海量結構化數據提供類 SQL 的查詢能力&#xf…

Python爬蟲(52)Scrapy-Redis分布式爬蟲架構實戰:IP代理池深度集成與跨地域數據采集

目錄 一、引言:當爬蟲遭遇"地域封鎖"二、背景解析:分布式爬蟲的兩大技術挑戰1. 傳統Scrapy架構的局限性2. 地域限制的三種典型表現 三、架構設計:Scrapy-Redis 代理池的協同機制1. 分布式架構拓撲圖2. 核心組件協同流程 四、技術實…

HashMap真面目

背景 今天數據采集項目碰到一個性能問題,3000多個采集點,每一個采集點每秒送一個數據,接收到數據之后首先需要內存中做緩存,之后有一系列的業務分析處理,所以,對系統性能要求比較高。 最近幾天發現服務器…

STM32CubeMX-H7-19-ESP8266通信(中)--單片機控制ESP8266實現TCP地址通信

前言 上篇文章我們已經能夠使用串口助手實現esp8266的幾種通信,接下來我們使用單片機控制實現。這篇文章會附帶教程,增加.c和,.h,把串口和定時器放到對應的編號,然后調用初始化就可以使用了。 先講解,然后末尾再放源碼…

歐盟RED網絡安全標準EN 18031-2的要求

歐盟RED網絡安全標準EN 18031-2的要求 歐盟RED網絡安全標準EN 18031-2的要求 ? 適用產品范圍: 能夠處理個人隱私數據的可聯網無線電設備。 不具備聯網能力的三類無線電設備:玩具、兒童護理類設備、可穿戴類設備。 主要測試與評估內容: EN…

一起了解--CAST函數

CAST函數在SQL中用途廣泛,不僅可以轉換為數值類型,還可以在多種場景下用于數據類型轉換。以下是一些常見的用途和示例: 類型轉換 使用CAST函數可以在查詢數據庫時根據需要調整數據格式或類型 CAST(expression AS target_type) expression …