Qt資源系統用法筆記 qrc

目錄

創建和使用.qrc文件的步驟:

步驟1: 創建.qrc文件

步驟2: 編輯.qrc文件

步驟3: 在代碼中使用資源

步驟4: 編譯和運行

優點和注意事項

c++調用:


Qt資源系統(Qt Resource System)提供了一種將應用程序所需的文件(如圖像、翻譯文件、音頻文件等)打包到應用程序可執行文件中的機制。這是通過使用資源配置文件(.qrc文件)來完成的,該文件列出了應用程序應該包含的資源。

創建和使用.qrc文件的步驟:

步驟1: 創建.qrc文件

在Qt Creator中,你可以輕松創建一個.qrc資源文件:

  1. 右鍵點擊項目名,在彈出菜單中選擇“添加新文件...”或者“添加現有文件...”。
  2. 選擇“Qt”下的“Qt 資源文件”,點擊“選擇...”。
  3. 為資源文件命名,通常命名為 resources.qrc,然后點擊“下一步”和“完成”。
步驟2: 編輯.qrc文件

打開你的.qrc文件,你會看到一個XML格式的內容。可以通過Qt Creator的資源編輯器來管理資源:

  1. 在.qrc文件中,使用 <qresource> 標簽定義一個資源前綴。
  2. 使用 <file> 標簽添加資源文件路徑。這些路徑是相對于.qrc文件的位置。

例如,如果你有一些圖像和音頻文件需要包含:

<RCC><qresource prefix="/images"><file>logo.png</file><file>background.jpg</file></qresource><qresource prefix="/sounds"><file>click.wav</file></qresource>
</RCC>

步驟3: 在代碼中使用資源

資源被編譯進你的應用程序后,可以通過一個特殊的URL來訪問,該URL的格式為 :/prefix/path。例如,如果你要在代碼中訪問上面的圖像和聲音,可以這樣做:

QPixmap logo(":/images/logo.png");
QSound clickSound(":/sounds/click.wav");
步驟4: 編譯和運行

當你編譯和運行你的Qt應用程序時,所有在.qrc文件中指定的資源都會被編譯到最終的可執行文件中。這樣做的好處是簡化了部署過程,因為你不需要擔心文件路徑和缺失的外部文件。

優點和注意事項

  • 優點:使用資源文件可以確保應用程序的獨立性和移植性,無需擔心運行時文件路徑問題或者文件缺失問題。
  • 注意事項:雖然把文件嵌入到可執行文件中可以提高便利性,但這也可能顯著增加可執行文件的大小。對于非常大的資源文件,可能需要考慮使用外部文件或其他加載機制。

通過這種方式,Qt的資源系統提供了一個非常強大和靈活的方式來管理和部署應用程序所需的各種文件,幫助開發者簡化應用程序的開發和部署過程。

c++調用:

void terminal::paintEvent(QPaintEvent *paint)
{QPainter painter(this);painter.drawPixmap(0,0,width(),height(),QPixmap(":/res/drawable/main_background.png"));
}

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

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

相關文章

Linux 內核之 mmap 內存映射的原理及源碼解析

文章目錄 前言一、簡介1. mmap 是什么&#xff1f;2. Linux 進程虛擬內存空間 二、mmap 內存映射1. mmap 內存映射的實現過程2. mmap 內存映射流程2.1 mmap 系統調用函數2.2 ksys_mmap_pgoff 函數2.3 vm_mmap_pgoff 函數2.4 do_mmap_pgoff 函數2.5 do_mmap 函數2.6 get_unmappe…

私域流量的真諦:構建并運營屬于你自己的私域生態

大家好&#xff0c;我是來自一家專注于私域電商行業的軟件開發公司的產品經理&#xff0c;擁有超過七年的行業經驗。今天&#xff0c;我想和大家聊聊私域流量的真正含義&#xff0c;以及為何我們應該關注并努力打造屬于自己的私域生態。 什么是私域流量&#xff1f; 私域流量&…

HCIA第二天復習上

延長傳輸距離-------中繼器&#xff08;放大器&#xff09;------物理層設備 可以延長5倍傳輸距離 增加網絡節點數量 網絡拓撲結構 1直線型拓撲 信息安全性差 網絡延遲高傳輸速度慢 2環形拓撲 3星型拓撲 4網狀型拓撲 傳輸效率高&#xff0c;…

【字典樹 馬拉車算法】336. 回文對

本文涉及知識點 字典樹 馬拉車算法 336. 回文對 給定一個由唯一字符串構成的 0 索引 數組 words 。 回文對 是一對整數 (i, j) &#xff0c;滿足以下條件&#xff1a; 0 < i, j < words.length&#xff0c;i ! j &#xff0c;并且words[i] words[j]&#xff08;兩個字…

通過注意力調節實現更好的文本到圖像生成對齊

近年來&#xff0c;生成性AI技術在眾多領域取得了前所未有的進步。大規模預訓練模型的出現激發了各種下游任務中的新應用。這在文本到圖像生成領域尤為明顯&#xff0c;例如Stable Diffusion、DALL-E 2和Imagen等模型已經顯著展示了它們的能力。盡管如此&#xff0c;復雜提示中…

appium篇-windows桌面自動化(一)[環境配置]

1、windows版本&#xff1a;win10 2、winSdk版本 Windows SDK and emulator archive | Microsoft Developer 3、winAppDriver版本 1.2.99 Releases microsoft/WinAppDriver (github.com) ################ 4、python版本 Python 3.9.13 ############### 5、appium版本 Re…

hubilder Android模擬器華為手機連接不上

APP真機測試注意點&#xff1a; 1. 同一個局域網下 2. 手機連接USB模式&#xff08;華為選擇USB配置&#xff1a;音頻來源&#xff09; &#xff0c;開發者模式 3. 實在不行重啟HBuilderX再運行真機 可是卡在了“正在安裝手機端HBuilder調試基座...” 就沒反應了&#xff1f;&…

【高時效通路】

一 高時效通路 1.1 pathchdumper 實時數據拉取、實時數據處理、5分鐘微批dump來加速時效性&#xff0c;具體來說&#xff1a; 實時數據拉取&#xff08;Fetcher&#xff09;&#xff1a;基于Databus Fetcher基建&#xff0c;直接對接F0層實時拉取最新數據&#xff0c;保證該…

Springboot整合Minio對象存儲超級詳細講解以及配置搭建

windows環境下搭建minio步驟 1.從minio官網進行查看詳細信息 地址&#xff1a;https://min.io/里面有詳細的配置信息搭建成功之后如下如所示&#xff1a;用戶名密碼默認情況下為 username&#xff1a;minioadmin password&#xff1a;minioadmin2.搭建成功之后的訪問 地址&…

python - 分割 pytest 的 conftest.py 文件

解決 pytest 的 conftest.py 文件過大問題。 1. 項目目錄結構 project_name ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── project_name │ ├── __init__.py │ ├── testing │ │ ├── __init__.py │ │ ├── fixtur…

vue項目實戰 - 如果高效的實現防抖和節流

在Vue項目中&#xff0c;處理高頻事件的優化至關重要&#xff0c;直接影響用戶體驗和應用性能。防抖&#xff08;Debounce&#xff09;和節流&#xff08;Throttle&#xff09;是兩種常用且有效的方法&#xff0c;可以控制事件觸發頻率&#xff0c;減少不必要的資源消耗。如何在…

SEO優化,小白程序員如何做SEO優化流量從0到1

原文鏈接&#xff1a;SEO優化&#xff0c;小白程序員如何做SEO優化流量從0到1 1、SEO是什么&#xff1f; SEO即&#xff1a;搜索引擎優化(Search Engine Optimization)&#xff0c;是一種通過優化網站結構、內容和外部鏈接等因素&#xff0c;提高網站在搜索引擎中的自然排名&…

python愛心樹表白代碼

以下是一個使用Python的turtle模塊來繪制一顆愛心并表白的簡單示例代碼&#xff1a; import turtle import math # 設置屏幕 screen turtle.Screen() screen.bgcolor("black") # 繪制愛心 def draw_heart(t, size): t.speed(9) t.penup() t.goto(0, -size…

Python Minio 工具類封裝

最近因為需要對大規模的文件進行存儲&#xff0c;選了多種對象存儲方案&#xff0c;最終選擇了MinIO&#xff0c;為了方便python的調用&#xff0c;在minio第三方包的基礎上進行進一步封裝調用&#xff0c;該工具除了基礎的功能外&#xff0c;還封裝了多線程分片下載文件和上傳…

DeepDriving | CUDA編程-03:線程層級

本文來源公眾號“DeepDriving”&#xff0c;僅用于學術分享&#xff0c;侵權刪&#xff0c;干貨滿滿。 原文鏈接&#xff1a;CUDA編程-03:線程層級 DeepDriving | CUDA編程-01&#xff1a; 搭建CUDA編程環境-CSDN博客 DeepDriving | CUDA編程-02&#xff1a; 初識CUDA編程-C…

Linux之共享內存mmap用法實例(六十三)

簡介&#xff1a; CSDN博客專家&#xff0c;專注Android/Linux系統&#xff0c;分享多mic語音方案、音視頻、編解碼等技術&#xff0c;與大家一起成長&#xff01; 優質專欄&#xff1a;Audio工程師進階系列【原創干貨持續更新中……】&#x1f680; 優質專欄&#xff1a;多媒…

外賣霸王餐返利外賣會員卡小程序開發

外賣霸王餐返利外賣會員卡小程序開發 "社交電商賦能下的外賣返利小程序"是專為商家與用戶雙贏而設計的創新平臺。 以下是其開發方案的詳細步驟&#xff1a; 一、需求梳理&#xff1a;首先&#xff0c;我們需要明確小程序的核心功能和特色。包括設定活動類型、返利…

Python學習(3) 函數

定義 定義一個函數的格式&#xff1a; def 函數名(參數):執行代碼如果沒有參數&#xff0c;則稱為無參函數。 定義時小括號中寫的是形參&#xff08;形式參數&#xff09;&#xff0c;調用時寫的是實參&#xff08;實際參數&#xff09;。 調用 調用格式&#xff1a; def…

【Docker】Linux 系統(CentOS 7)安裝 Docker

文章目錄 對 VMware 軟件的建議官方說明文檔Docker安裝卸載舊版本docker設置倉庫開始安裝 docker 引擎最新版 Docker 安裝指定版本 Docker 安裝&#xff08;特殊需求使用&#xff09; 啟動 Docker查看 Docker 版本查看 Docker 鏡像設置 Docker 開機自啟動 驗證開機啟動是否生效…

自定義原生小程序頂部及獲取膠囊信息

需求&#xff1a;我需要將某個文字或者按鈕放置在小程序頂部位置 思路&#xff1a;根據獲取到的頂部信息來定義我需要放的這個元素樣式 * 這里我是定義某個指定頁面 json&#xff1a;給指定頁面的json中添加自定義設置 "navigationStyle": "custom" JS&am…