Фон : мне нужно Командная ссылка -подобные элементы управления. Обычно я бы использовал встроенную в Qt QCommandLinkButton
, но в этом случае мне нужно также поддерживать макеты справа налево. К сожалению, QCommandLinkButton
, похоже, не соблюдает Qt::RightToLeft
, когда установлено явно через setLayoutDirection
. Также не существует способа переопределить направление макета с помощью таблиц стилей.
Я попытался обойти эту проблему с помощью QPushButton
: я создал экземпляр QPushButton
и заменил его содержимое на пользовательское. макет, содержащий две метки, уложенные вертикально. Это не сработало, потому что QPushButton
отказался расширяться по горизонтали.
Не удалось заставить QPushButton
экземпляры работать, я решил попробовать разбить их на подклассы. Независимо от того, что я пытался (переопределив sizeHint
, установив вертикальное sizePolicy
для расширения, resize
явно и т. Д.), Кнопка отказывается расти более чем на 30 пикселей в высоту.
Если я изменю QPushButton
на QWidget
, новый виджет будет нормально расти.
Вопрос : Как заставить QPushButton
расти вертикально иподходят его внутренние виджеты? Если это невозможно, каковы мои варианты для виджета в виде кнопки, который визуально и поведенчески совместим с QPushButton
и другими «нативными» элементами управления?