Пользовательский стиль с Qt - PullRequest
4 голосов
/ 16 сентября 2008

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

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

Ответы [ 5 ]

7 голосов
/ 16 сентября 2008

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

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

3 голосов
/ 25 сентября 2008

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

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

1 голос
/ 22 сентября 2008

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

1 голос
/ 16 сентября 2008

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

Предполагается, что другие инфраструктуры также облегчат эту задачу (некоторые на основе Java?), Но у меня нет опыта из первых рук.

0 голосов
/ 01 февраля 2009

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

         http://doc.qt.digia.com/4.4/stylesheet.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...