最近,又用 Pyqt5 寫了一個新手指引的小界面,今天測試的同窗拋出了一個異常。函數
屏幕分辨率太低的時候,界面展現不全。測試
剛拿到反饋的時候很疑惑,由於以前是作過窗口最大化處理的,又通讀一遍代碼,找到了對應的問題。spa
我在展現圖片的時候,沒有將圖片和窗口作適配,只是最大化了展現窗口,可是展現圖片的大小仍是原始尺寸,因而又新增了一個圖片隨窗口變化等比例縮放的函數:3d
def m_resize(self,w_box, h_box, pil_image): # 參數是:要適應的窗口寬、高、Image.open後的圖片code
w, h = pil_image.width(), pil_image.height() # 獲取圖像的原始大小 f1 = 1.0*w_box/w f2 = 1.0 * h_box / h factor = min([f1, f2]) width = int(w * factor) height = int(h * factor) #return pil_image.resize(width, height) return pil_image.scaled(width, height)
再次測試時,問題解決。blog
免費下載試用:https://support.i-search.com.cn/圖片