如何调整或缩放QIcon?

时间:2019-04-25 05:19:27

标签: python python-3.x pyqt pyqt5 qtoolbar

我正在尝试扩大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加载图标,但是无论如何它的大小都是一样的。

我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

您必须更改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_())
相关问题