如何调整或缩放 QIcon?

How to resize or scale a QIcon?

我正在尝试放大 QIcon,但它不起作用。

class Example(QMainWindow):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        exitIcon = QPixmap('./icons/outline-exit_to_app-24px.svg')
        scaledExitIcon = exitIcon.scaled(QSize(1024, 1024))
        exitActIcon = QIcon(scaledExitIcon)
        exitAct = QAction(exitActIcon, 'Exit', self)
        exitAct.setShortcut('Ctrl+Q')
        exitAct.triggered.connect(qApp.quit)

        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAct)

        self.setWindowTitle('Toolbar')
        self.show()

当我 运行 应用程序时,它似乎不起作用。我尝试过使用 QPixmap 和直接使用 QIcon 加载图标,但无论如何它的尺寸都一样小。

我做错了什么?

您必须更改 QToolBar 的 iconSize 属性:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets 


class Example(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        exitActIcon = QtGui.QIcon("./icons/outline-exit_to_app-24px.svg")
        exitAct = QtWidgets.QAction(exitActIcon, "Exit", self)
        exitAct.setShortcut("Ctrl+Q")
        exitAct.triggered.connect(QtWidgets.qApp.quit)
        self.toolbar = self.addToolBar("Exit")
        self.toolbar.addAction(exitAct)
        self.toolbar.setIconSize(QtCore.QSize(128, 128)) # <---

        self.setWindowTitle("Toolbar")
        self.show()


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = Example()
    w.show()
    sys.exit(app.exec_())