在Qt c + +,有沒有什麼辦法來設置資源編程?
我想讓用戶設置將被加載到應用程序(QtWebKit)中的exe圖標和他的html文件。
所以它會嵌入到當前正在使用的資源集合文件(.qrc)Qt可以以編程方式設置資源嗎?
2
A
回答
2
Windows不會「讓」用戶設置「exe」圖標 - 而不是沒有額外的工具或代碼。您當然可以使用Windows API來修改可執行文件,但這並不保證可以正常工作。如果應用程序以安全方式安裝,它將在沒有管理權限的情況下運行,並且將無法修改其圖標。基本上:這是一個愚蠢的想法。不要這樣做。
你當然也可以使用下面的代碼更改應用程序的圖標在運行時:
void setIcon(QWidget* widget, QPixmap* pixmap);
{
WId wid = widget->winId();
HINSTANCE inst = (HINSTANCE)qWinAppInst();
QPixmap large = pixmap->scaled(48, 48, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
SendMessage(wid, WM_SETICON, ICON_BIG, (LPARAM)large->toWinHICON());
QPixmap small = pixmap->scaled(24, 24, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
SendMessage(wid, WM_SETICON, ICON_SMALL, (LPARAM)small->toWinHICON());
}
4
在Qt的資源系統的文件無法應用程序的運行時更改編譯的應用程序,因此不「以編程方式「,如果我正確理解你的話。
但是,您可以編程方式(在構建過程中使用腳本)生成.qrc文件,如果這是您想要的。但我想這是而不是你想要什麼,因爲你正在談論用戶,他們很可能不想重新編譯你的應用程序來使用它。
如果您想讓用戶在幾個圖標之間進行選擇(例如;但這可能適用於其他自定義),並讓他們選擇一個自定義文件。你可以從Qt資源和真正的文件系統中抽象出來,首先掃描應用程序的子文件夾中的圖標,然後查看資源(只需在本地版本不存在之前將:/
添加到路徑中)即可。因此,用戶可以使用您使用此方法的本地文件「覆蓋」所有資源文件。
作爲另一個例子,我成功地將這種方法應用於語言文件。 :/lang/
中有一些默認語言的文件,但用戶也可以將文件放在<appdir>/lang/
中並使用它們。請記住,如果用戶也可以在可用文件之間進行選擇,則可能需要在運行時在目錄中搜索合適的文件。
相關問題
- 1. 我可以以編程方式設置Mercurial配置選項嗎?
- 2. 您可以設置Axis以編程方式使用HTTP/1.0嗎?
- 3. 可以在運行時以編程方式設置「android:layout_below」嗎?
- 4. 以編程方式指定資源ID
- 5. JSF以編程方式添加資源
- 6. 以編程方式定義StackPanel資源?
- 7. 以編程方式更改資源getString()
- 8. C#以編程方式創建資源
- 9. 這是可以編輯Qt應用程序中的嵌入式資源嗎?
- 10. 以編程方式設置iPhone設置
- 11. 我可以通過編程方式設置SQLNET.AUTHENTICATION_SERVICES =(NONE)嗎?
- 12. 可以通過編程方式設置android:layout_toLeftOf嗎?
- 13. 以編程方式獲得Linux設備資源信息
- 14. 我們可以以編程方式配置Chrome嗎?
- 15. 以編程方式配置IPhone設置
- 16. 以編程方式設置UIScrollView方向
- 17. trigger.io以編程方式設置方向
- 18. 以編程方式設置Android樣式
- 19. 如何以編程方式在Qt窗口中心設置QWidget?
- 20. Android:如何以編程方式顯示位置源設置?
- 21. Grails:Config.groovy中的設置可以在運行時以編程方式覆蓋嗎?
- 22. 我可以以編程方式設置DirectCast命令的對象類型嗎?
- 23. 我可以在iOS中以編程方式設置對象屬性嗎?
- 24. 我可以以編程方式在`for`循環中設置條件嗎?
- 25. 以編程方式設置android:animateLayoutChanges
- 26. 以編程方式設置ViewFlipper體重
- 27. 以編程方式設置插座UIBarButtonItem
- 28. 如何以編程方式設置passwordToggleEnabled
- 29. Jqgrid - 以編程方式設置textarea
- 30. 以編程方式設置PopUpMenuButton的值?
'和其它文件嵌入到應用程序當前正在編譯'確切在哪裏你想包括什麼?什麼是'嵌入misc文件'? – RedX
更新了這個問題,基本上我想做一個簡單的配置工具,用戶可以設置他的圖標和文件(如html文件) ,可以嵌入到應用程序中以將其標記爲他的。 – user63898
那麼你想要改變.qrc文件中的文件?如果是這種情況,那麼就有qt附帶的資源文件編輯器。 – RedX