環境:
- HelperA64開發板
- Linux3.10內核
- 主機:ubuntu16.04
目標:修改Qt中checkbox圖片太小的BUG
問題:在從Qt4移植為Qt5時遇到很多問題,這次是移植到開發板中風格的問題,代碼在PC正常顯示,移植到arm板中checkbox中圖標icon選中勾明顯太小。
一、fusion風格
1、Qt5有幾個風格,其中就是window版本的風格和fusion風格,windows版本的就是icon勾太小,而fusion風格的就是正常的。網上給的答案就是在main.c中加入風格切換,的確能正常顯示。
2、不足之處:在每次代碼中加入風格切換這是不合理的,所以我們在arm開發板中修改,使其默認為fusion風格。找到Qt源碼調用的地方,分析原因。
二、修改不足
1、上面只是調用不是問題處。最后分析得到是HelperA64開發板中默認環境變量為windows,所以我們找到Qt源碼中環境變量的地方如下:
分析得出當沒有設置風格時,arm板子默認為widows風格。我們得到的環境變量為QT_STYLE_OVERRIDE。
2、得到環境變量后只需要在我們開發板腳本export就行了
三、總結
出現問題時能一勞永逸的事情我們就要做好,不畏懼源碼的龐大,勇敢向前,總會有突破口的。