我在編譯時在磁盤上有一個png文件。我想將它包含到編譯的可執行文件中。 如何在Qt中定義這樣一個圖標?如何用編譯時間預定義圖像在QT中定義圖標?
1
A
回答
9
你基本上需要使用Qt資源系統。
結帳編入資源here。
比方說這個這個資源文件
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/copy.png</file>
<file>images/cut.png</file>
<file>images/paste.png</file>
</qresource>
</RCC>
在你的源,現在您可以通過從資源引用圖像創建QIcons
QIcon(":/images/cut.png")
不要忘記引用的資源文件在你的.pro
RESOURCES = application.qrc
This example在資源文件中使用圖標
+0
完美,然後 - 鋤頭是否使用該編譯資源定義圖標? – Regof 2010-04-25 19:08:18
6
至於Qt的資源系統的替代方案,你可以使用(你喜歡的圖像轉換工具),以.png文件轉換爲.xpm格式,然後將這些行添加到您的.cpp文件:
#include "my_converted_image.xpm"
[...]
QPixmap myPixmap((const char **) my_converted_image_xpm);
...其中my_converted_image_xpm是在.xpm文件頂部附近聲明的字符數組的名稱。這工作,因爲.xpm圖像格式實際上只是C源代碼聲明一個字符數組是位圖,它的QPixmap知道如何解析,如:
/* XPM */
static const char * const my_converted_image_xpm[] = {
"16 16 65 1",
" c None",
". C#0F0F04",
[...]
" "};
0
如果您使用Qt的創造者,有一個資源編輯器可供您使用。只需創建一個新的資源文件,添加一個前綴並添加文件。 Qt-Creator會自動將其添加到項目文件中。之後,從您的資源中選擇您的圖片,然後選擇您需要的圖片
相關問題
- 1. 如何使用CMake在編譯時定義編譯器標誌?
- 2. 如何定義Qt圖像傳送帶中的圖像數量?
- 3. 如何用自定義編譯器和自定義標誌來構建Qt?
- 4. 如何在圖像菜單項中使用自定義圖標?
- 5. BingMaps預定義的圖釘圖標
- 6. 自定義光標圖像
- 7. 如何使用QT創建帶有自定義圖像的托盤圖標?
- 8. Angular 2避免編譯在CSS中定義的圖像
- 9. 如果編譯器是MSVC,是否有預定義的定義?
- 10. QT未定義的參考錯誤,當試圖編譯
- 11. Google地圖自定義圖像和自定義座標
- 12. QT自定義樹視圖
- 13. 影像圖與自定義圖標
- 14. Fancybox自定義URL圖像預加載
- 15. 如何創建像自定義列表視圖的自定義圖像視圖?
- 16. 如何使用自定義圖像/圖標與溫泉UI
- 17. 如何用自定義圖像光標覆蓋鼠標光標?
- 18. 更改CloudMade預定義的圖標
- 19. 使用javascript自定義光標圖像
- 20. 如何點擊自定義網格視圖圖像圖標?
- 21. 在android自定義視圖中我如何編程我的自定義視圖?
- 22. 自定義圖像
- 23. 如何在myview中使用自定義地圖圖像?
- 24. 在Java時間間隔定義中編譯C
- 25. 如何將PHP上傳圖像與預定義的自定義名稱/
- 26. 自定義谷歌地圖標記圖標圖像在swift ios
- 27. 圖像到光標/自定義光標
- 28. 自定義預編譯位置?
- 29. OpenCL編譯器預處理定義?
- 30. Rails的預編譯自定義資產
您的意思是沒有從資源中加載圖標數據? – 2010-04-25 17:52:20
我想將資源包含到可執行文件中,以免它在運行時加載。那可能嗎? – Regof 2010-04-25 18:30:55