QToolBar 图标旁边不显示文本

问题描述 投票:0回答:2

我有以下代码:

from PyQt5 import QtWidgets
from PyQt5.QtGui import QIcon


class ConfigureBar(QtWidgets.QToolBar):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.addAction(QtWidgets.QIcon("some_icon.png"), "Hi")
        self.addSeparator()
        self.addAction(QIcon("some_icon.png"), "Hello")

if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)

    window = ConfigureBar()

    window.show()
    app.exec()

但由于某种原因,显示的小部件没有文本(Hi,Hello),只有图标。我试图找到一些答案,但我似乎无法找到正确的关键字。帮忙吗?

python python-3.x pyqt pyqt5
2个回答
3
投票

toolButtonStyle
属性表示QToolButtons的显示样式,默认为
Qt::ToolButtonIconOnly
,所以只显示图标,如果要显示文本则必须使用
Qt::ToolButtonTextBesideIcon
Qt::ToolButtonTextUnderIcon 

from PyQt5 import QtCore, QtGui, QtWidgets


class ConfigureBar(QtWidgets.QToolBar):
    def __init__(self, parent=None):
        super().__init__(parent)

        self.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        # or
        # self.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)

        self.addAction(QtGui.QIcon("some_icon.png"), "Hi")
        self.addSeparator()
        self.addAction(QtGui.QIcon("some_icon.png"), "Hello")


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)

    toolbar = ConfigureBar()

    w = QtWidgets.QMainWindow()
    w.addToolBar(toolbar)
    w.show()

    sys.exit(app.exec_())

0
投票

对于 PyQt6 使用

toolbar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon)

© www.soinside.com 2019 - 2024. All rights reserved.