与 PyQt5 类似,可以使用 PySide6 中的 QIcon 和 QPixmap 类来对图标进行大小调整。具体步骤如下:
- 创建一个原始尺寸的 QIcon 对象。
icon = QtGui.QIcon("my_icon.png")
- 获取该对象的 pixmap 对象。
pixmap = icon.pixmap(icon.availableSizes()[0]) # 获取当前可用尺寸中的第一个尺寸
- 调整 pixmap 的大小。
resized_pixmap = pixmap.scaled(64, 64) # 将 pixmap 调整为 64x64 大小
- 使用新的 pixmap 创建一个新的 QIcon 对象,并设置为窗口图标。
self.setWindowIcon(QtGui.QIcon(resized_pixmap))
完整代码如下:
from PySide6 import QtWidgets, QtGui
class MyWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个原始尺寸的 QIcon 对象
icon = QtGui.QIcon("my_icon.png")
# 获取该对象的 pixmap 对象
pixmap = icon.pixmap(icon.availableSizes()[0])
# 调整 pixmap 的大小
resized_pixmap = pixmap.scaled(64, 64)
# 使用新的 pixmap 创建一个新的 QIcon 对象,并设置为窗口图标
self.setWindowIcon(QtGui.QIcon(resized_pixmap))
if __name__ == "__main__":
app = QtWidgets.QApplication([])
window = MyWindow()
window.show()
app.exec_()
需要注意的是,在对 pixmap 进行缩放时可能会出现失真或锯齿等情况,因此应该根据实际需要选择合适的大小和缩放算法。scaled()
方法可以接受多个参数来指定缩放方式、保持纵横比等选项,具体可参考 PySide6 文档中 QPixmap 类相关部分的说明。