До недавнего времени не пробовал менять оформление окон Qt-шных. Оказалось все настолько просто и понятно. Любой кто знаком с css может изменить внешний вид объекта-наследника QWidget. Например для скругленной красной рамки у кнопок делаем так:
QPushButton { border-width: 2px; border-color: red; border-style: solid; border-radius: 5; }
Ну и в конструкторе или main.cpp пишем:
QFile file(":/mediacom-agent.qss"); file.open(QFile::ReadOnly); QString styleSheet = QLatin1String(file.readAll()); qApp->setStyleSheet(styleSheet);
Все на самом деле просто и функционально. Можно использовать системные цвета, например так:
QPushButton { color: palette(dark); }
Все очень похоже на обычный css, указываем класс и настраиваем внешний вид так как позволит фантазия. Активный пункт меню может быть настроен так:
QMenu:selected { background-color: green }
Для состояний возможны отрицания:
QPushButton:!hover { color: red }
Для сложных элементов можно получить доступ к подэлементам. Например так:
QComboBox::drop-down { image: url(dropdown.png) }
Все описывать не вижу смысла, в SDK все подробно расписано и есть хорошие примеры. Забавно, что за полгода я не заметил такой замечательной вещи как стили…