1. 程式人生 > 其它 >Qt 框架應用程式下使用jpg圖片時不顯示現象

Qt 框架應用程式下使用jpg圖片時不顯示現象

1、異常現象描述

在程式中將圖片資源放置在同執行程式*.exe統一目錄下,在程式中使用QLable下的setPixmap()函式設定背景圖片;在win7下正常顯示而在win10下不正常。

2、異常現象排查

a、檢查圖片資源放置路徑是否正確,多次確認後無誤

b、懷疑是不同系統下路徑分割符導致路徑錯誤,除錯檢視並使用QDir::toNativeSeparators()函式確保不同系統下路徑分隔符的正確性;除錯確認無誤

暫時找不到原因,更換圖片展示方式,自定義QWidget,重寫paintEvent,在繪圖事件函式中繪製圖片;嘗試後,異常仍然存在

c、通過以上資源路徑正確性及圖片展示方式嘗試後,判斷可能與不同系統下圖片載入相關庫有關係,後檢視打包檔案後發現隨主程式打包的庫檔案imageformats中所有庫均為debug模式庫;後更換release的庫,最後

在win10 系統下圖片正常顯示

3、總結

開發環境為win7,且將qt配置到了path環境中,故開發機上jpg圖片顯示正常;而在win10應用機上,沒有qt環境,圖片處理只能依靠打包的依賴庫,而依賴的庫為debug庫,導致了圖片顯示的異常。

今後在程式打包時,一定要注意程式時debug還是release的,並在打包時使用相應的二進位制依賴庫。