Вопрос

Есть ли у кого-нибудь опыт создания собственного стиля в Qt?Я имею в виду совершенно новый стиль, который повлияет на все виды виджетов.Я видел в Интернете несколько примеров пользовательского поля со списком.Но я понятия не имею, сколько времени и кода требуется для создания «полного» нового пользовательского стиля…может быть кто-нибудь сможет мне подсказать.

Думаем использовать Qt 4.3 (или даже новее)...

Это было полезно?

Решение

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

Чтобы на самом деле разработать его, я бы полез в исходный код их пример стилей, имеющий «деревянный» стиль.Я добавил свой собственный стиль вместо стиля примера и начал что-то менять, используя пример программы, чтобы проверить, как она выглядит.В зависимости от того, как вы его разрабатываете, вам может потребоваться файл конфигурации, чтобы можно было легко изменить некоторые значения без перекомпиляции.

Другие советы

Проверьте Таблицы стилей объект в Qt 4.Хотя это по-прежнему хлопотно, это намного проще, чем создавать полноценный собственный стиль.Вы можете просто настроить один визуальный аспект за раз и попробовать его.

Он уделяет внимание наследственности.Поэтому, если вы стилизуете шрифт в QWidget, каждый визуальный виджет также будет использовать этот шрифт.И так далее.

Возможно, вы захотите взглянуть на существующие стили.Вы можете найти немало из них на kde-look.org, в Стили / раздел 4.0.

Мы делали это раньше (в Qt 3), и это отнимало очень много времени.У нас было много проблем с мерцанием, перерисовкой, работающей не так, как мы ожидали, вялым поведением, ошибками в реализации Qt.Это намного менее просто, чем кажется, а также мало поддержки и пользовательского опыта.Если вам не нужно что-то действительно особенное (как это было у нас), я бы сказал, что оно того не стоит.

Другие фреймворки должны облегчить задачу (какие-то на основе Java?), но у меня нет личного опыта.

Если вам не нужно радикально менять стиль виджета, вы можете попробовать использовать таблицы стилей виджетов:

         http://doc.qt.digia.com/4.4/stylesheet.html
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top