Я пытаюсь реализовать раскрывающийся список «Подробности» для диалогового окна с помощью QToolButton (для переключения между отображением/скрытием) и QTextEdit (для отображения информации). Я переключаюсь между стрелкой вправо (скрыта) и стрелкой вниз (показана), чтобы указать текущее состояние дисплея.
# Create a button to toggle the details frame.
self._detailsbutton = QToolButton()
self._detailsbutton.setCheckable(True)
self._detailsbutton.setChecked(False)
self._detailsbutton.setArrowType(Qt.RightArrow)
self._detailsbutton.setToolButtonStyle(Qt.ToolButtonIconOnly)
self._detailsbutton.toggled.connect(self.showDetails)
По умолчанию QToolButton довольно большой.
Я пытался найти способ уменьшить размер этой кнопки. Единственная многообещающая вещь, которую я нашел, - это метод QWidget.setFixedSize, но его использование приводит к тому, что стрелка кнопки инструмента выглядит не по центру и обрезается.
# Create a button to toggle the details frame.
self._detailsbutton = QToolButton()
self._detailsbutton.setCheckable(True)
self._detailsbutton.setChecked(False)
self._detailsbutton.setArrowType(Qt.RightArrow)
self._detailsbutton.setToolButtonStyle(Qt.ToolButtonIconOnly)
self._detailsbutton.setFixedSize( 10, 10 )
self._detailsbutton.toggled.connect(self.showDetails)
Я попытался установить размер на разные значения (5–15), но стрелка не центрируется правильно ни для одного из них. Кто-нибудь знает, как я могу уменьшить размер кнопки инструмента, сохраняя при этом стрелку в центре? Мне также было бы интересно узнать, как контролировать размер отображаемой стрелки.
Как всегда, если у кого-то есть лучший способ сделать это, я весь внимание.
Бонусные баллы, если вы можете сказать мне, как отключить рамку вокруг кнопки и просто показать голую стрелку на сером фоне.