Qt: Использование таблиц стилей для изменения положения кнопок QDockWidget - PullRequest
0 голосов
/ 10 января 2011

Я создаю графический интерфейс с использованием Qt. Я использую таблицы стилей, чтобы изменить положение кнопки закрытия и плавающей кнопки в левой части заголовков DockWidgets в Mac OS X. Мой код выглядит так:

QString macOSXButtonStyle = "";
#ifdef MACOSX
  macOSXButtonStyle = "QDockWidget::close-button, QDockWidget::float-button { subcontrol-position: left; } QDockWidget::close-button { left: 4px; } QDockWidget::float-button { left: 20px; }";
#endif

activeDockWidget->setStyleSheet(macOSXButtonStyle);

Перестановка работает. Но кнопки выглядят меньше, чем раньше:

До:

http://www.informatik.uni -bremen.de / ~ cargath / buttons_before.png

После того, как:

http://www.informatik.uni -bremen.de / ~ cargath / buttons_after.png

Я пытался изменить их размер с помощью различных комбинаций размера значка, размера, ширины и высоты, но, похоже, ничего не помогло. Любая идея, что вызывает проблему / как я мог это исправить?

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Я был в той же ситуации, и мне удалось восстановить размер значков, добавив

QDockWidget
{
    icon-size: 20px;
}

(протестировано с Qt 4.7 и Qt 4.8.)

0 голосов
/ 10 января 2011

Стилизация стандартного QDockWidget с вашим стилем, похоже, не влияет на размер значков в Win 7 или Ubuntu 10.14 с использованием Qt4.7.

Если присмотреться к изображениям до и после, разница, похоже, в высоте - значки имеют одинаковую базовую линию, а панель инструментов - одинаковую высоту. Если явное изменение высоты не сработало, мне интересно, не было ли где-нибудь введено вертикальное заполнение? Есть ли в приложении другие стили для Mac?

Вы можете попробовать явно установить padding: 0 в этом стиле. Ноль должен быть по умолчанию, поэтому многие ничего не меняют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...