是否有一种方法可以将base64代码设置为QMainWindow的后台。我不想保存这些图像,但我只想将它们设置为背景
这是我用来将base64代码转换为QPixmap
的代码:
bkgnd = QtGui.QPixmap(QtGui.QImage.fromData(base64.b64decode('some base64 code')))
对于一些base64代码,它可以如下所示:
bkgnd = QtGui.QPixmap(QtGui.QImage.fromData(base64.b64decode('iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAeElEQVQ4T2NkoBAwUqifgboGzJy76AIjE3NCWmL0BWwumzV/qcH/f38XpCfHGcDkUVwAUsDw9+8GBmbmAHRDcMlheAGbQnwGYw0DZA1gp+JwFUgKZyDCDQGpwuIlrGGAHHAUGUCRFygKRIqjkeKERE6+oG5eIMcFAOqSchGwiKKAAAAAAElFTkSuQmCC')))
我已经搜索了如何将QPixmap设置为窗口背景,但没有找到任何有效的方法
没有直接的方法可以做到这一点,因此您需要实现主窗口的绘制事件,并确保其中心小部件不会绘制其背景(通过在样式表中设置背景颜色或使用
autoFillBackground()
)以下内容将在中心渲染pixmap:
您还可以获得平铺:
或拉伸图像内容:
或通过保持纵横比进行缩放:
在上述所有情况下,如果您想设置在菜单、工具栏等下也呈现的背景,也可以尝试使用主窗口(
self.rect()
)的完整矩形,而不是中央小部件的矩形,但我不建议您这样做,因为这可能会使这些元素难以看到,在任何情况下,也有可能某些样式会绘制它们的背景相关问题 更多 >
编程相关推荐