QToolBar не показывает текст рядом со значком - PullRequest
1 голос
/ 01 августа 2020

У меня такой код:

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()

Но по какой-то причине на отображаемом виджете нет текста (Привет, привет), только значок. Я пытался найти ответ, но, похоже, не могу правильно подобрать ключевое слово. Помогите?

1 Ответ

2 голосов
/ 01 августа 2020

Свойство 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_())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...