最近,又用 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/图片