LINUX.ORG.RU

QT свой интерфейс


0

1

Вечер добрый. Как сделать свой интерфейс в смысле что свои графические элементы использовать или какую-то тему готовую. Вот мне например очень нравится темя интерфейса Blender, не подскажите как такую сделать?

★★★

Наверное, нужно использовать другой тулкит. Мне тоже интересно, можно ли и как сделать уникальный интерфейс для программ в Linux, по примеру всяких фирменных утилит в Windows.

fragment
()
Ответ на: комментарий от fragment

мне один знакомый говорил что через QT можно сделать, там какой-то xml файлик делаешь и все

Int64 ★★★
() автор топика

Ну, допустим, в Qt можно делать собственные виджеты. Например, на основе существующих. Т.е. наследуешь QButton, но рисуешь ему свое изображение кнопки. Забабахай себе набор собственных виджетов и лепи из них интерфейс.

Zhbert ★★★★★
()

В блендере свой тулкит. В qt можно сделать похожее на qml или написанием собственного стиля. Qml проще.

note173 ★★★★★
()

QStyle и компания. Создаешь свой стиль и назначаешь его. Но IMHO лучше не выбиваться из общего стиля, если на то нет веских причин (а они есть редко).

Pavval ★★★★★
()

Плюсую выфера — кури QStyle.

fat_angel ★★★★★
()

Не слушай QStyle'истов. Если тебе нужен полностью кастомный интерфейс, то QML твой выбор.

К тому же, у QWidget'ов нет будущего, их конечно оставят, но больше для совместимости.

anonymous
()
Ответ на: комментарий от anonymous

> упоминания XML
Никто его и не упоминал (в моем посте).

настоящих программистов давно тошнит

Ню-ню.

anonymous
()
Ответ на: комментарий от anonymous

я как-то xml вообще не использую, один раз в своей жизни юзал, клиенту нужно было. попробую QML кстати если буду использовать QML, будет у меня интерфейс этот работать на маке и винде?

Int64 ★★★
() автор топика
Ответ на: комментарий от anonymous

> Гню, милай, qml является подмножеством JSON ?

Нет, но уже ближе. Это такой декларативный js.

anonymous
()
Ответ на: комментарий от Int64

> будет у меня интерфейс этот работать на маке и винде?

Да. В этом и плюшка, нет никакой зависимости от нативных стилей или интерфейса, но и нет интеграции с ними.

anonymous
()
Ответ на: комментарий от anonymous

сливаюсь, чтото я попутал, полагал что qml - на xml, щас ознакомился, там свой достойный велосипед.

_________

//wfrr

anonymous
()
Ответ на: комментарий от anonymous

> но и нет интеграции с ними.

Уточню. Пока нет, либо есть, но не полная. Гуглить qml (desktop) components.

anonymous
()
Ответ на: комментарий от fragment

>всяких фирменных утилит в Windows.

Как же я ненавижу, когда в венде все программы используют свои велосипеды для отрисовки виджетов и свои темы оформления, которые совершенно не сочетаются ни с системной темой, ни с другими такими программами. Смотришь так на монитор и видишь месиво разных окон с совершенно несочетающимися темами, от которых тошнит даже по отдельности.

Не надо такого в Линуксе.

gentoo_root ★★★★★
()
Ответ на: комментарий от baverman

да чисто для себя, проект делаю свой, и хочу сделать окружающую среду разработки приятную, как в Blender

Int64 ★★★
() автор топика
Ответ на: комментарий от Int64

мне вот виндовс вообще перестал нравится, посидел немного на линуксе, и ощутил, как удобно на нем работать :)

Int64 ★★★
() автор топика
Ответ на: комментарий от gentoo_root

Есть случаи, когда это полностью оправдано. Игровые приложения и брендированные приложения, например.

Вообще, стиль системы должны наследовать только утилиты и, возможно, офис.

note173 ★★★★★
()
Ответ на: комментарий от note173

>Игровые приложения

Они запускаются на весь экран и не видно, что они выбиваются из общей темы, потому что других окон рядом нет. Но и здесь есть такие игры, в которых есть какие-то диалоговые окна, которые отрисовываются не оконным менеджером, а своим велосипедом, жестоко лагая при перемещении, не говоря уже об их теме оформления. Так что игры играми, но диалоговые окна даже в них должны таки выглядеть, как все.

брендированные приложения

Пытался недавно настроить USB-модем MTS'а, который работает только в венде. Установилась какая-то левая программка, которая, конечно же, по-уродски выглядит и с кучей опечаток в интерфейсе (вплоть до того, что вместо «ы» там украинская «і»), через которую можно было включать или выключать соединение. Мало того, что она занимает место в трее и по-уродски выглядит, она является велосипедом не только в реализации собственных виджетов, а и в своём предназначении (дозваниваться через ppp умеет и вендовый встроенный аналог NetworkManager'а). Так что в венде велосипеды повсюду и везде, а собственный внешний вид каждой программы — это лишь их малая часть. Если такое начинает появляться в Линуксе, то скоро дойдёт до того, что и тут появятся ненужные программы-велосипеды. Другое дело — Mac OS, в которой после настройки (другого) USB-модема ненужная программа-велосипед установилась, но ей можно не пользоваться, а использовать встроенные в ОС возможности управления сетью.

Вообще, стиль системы должны наследовать только утилиты и, возможно, офис.

Почему это вдруг мой браузер должен выглядеть, как хромиум, а плеер должен быть г-ном с гламурными кнопками и непрямоугольным окном? Это нарушает гармонию на моём рабочем столе.

gentoo_root ★★★★★
()
Ответ на: комментарий от fragment

>Зато сразу можно отличить окна разных программ друг от друга.

Если окна разных программ, то их и так можно сразу отличить. К тому же, чтобы сделать действие, не обязательно знать, что за программу мне надо найти. Например, если мне надо скопировать файл, я выберу окно, в котором внутри есть список файлов, занимающий большую часть места в окне. А помнить форму кнопочек в каждой программе для определения по форме кнопок самой программы гораздо труднее и не нужно.

gentoo_root ★★★★★
()

вот есть multifon от мегафона, это прога кроссплатформенная и на Qt - у нее вообще свой интерфейс сделан, посмотри как, я уверен что они стили крутили и у них получилось

или они чисто битмапами залепили формы? сомневаюсь

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от gentoo_root

Утилита управлением мтс-модемом — пример плохого брендированного приложения.

Игровые приложения - типа steam. Не обязательно разворачиваются на весь экран, но всегда должны иметь свой стиль.

Но, в любом случае, приложение должно выглядеть так, как задумал его разработчик. Конечно, у разработчика при этом должно быть в наличие чувство прекрасного.

Или как в макос: составить гайдлайны для интерфейса и как-то заставлять разработчиков им следовать. Малореально, к сожалению.

Специфичные приложения типа блендера, фотошопа и им подобные тоже имеют право использовать любой тулкит с любой темой (тема интерфейса пользователей этого ПО волнует в последнюю очередь).

note173 ★★★★★
()
Ответ на: комментарий от frozenix

хм, ну у меня программа так то тоже вся на OpenGL, я даже написал 10 гуишных элементов, но потом подумал что не нужно велик изобретать и можно просто использовать QT, кстати вроде бы QT тоже OpenGL использует для отрисовки гуишек.

Int64 ★★★
() автор топика
Ответ на: комментарий от anonymous

>К тому же, у QWidget'ов нет будущего, их конечно оставят, но больше для совместимости.

А вам QML умеет системные виджеты, или мне каждый раз кнопку с нуля рисовать?

anonymous
()
Ответ на: комментарий от anonymous

> А вам QML умеет системные виджеты, или мне каждый раз кнопку с нуля рисовать?

QML Desktop Components

anonymous
()
Ответ на: комментарий от fragment

Наверное, нужно использовать другой тулкит. Мне тоже интересно, можно ли и как сделать уникальный интерфейс для программ в Linux, по примеру всяких фирменных утилит в Windows.

В GTK+ такое можно сделать 100%но - для примера смотри Ardour, у них используется своя тема. По поводу Qt вроде был пример в стандартной поставке.

А вообще, ИМХО, за такие программы разработчиков следует очень медленно и мучительно убивать, а останки топить в говне. Если конечно для разработки своего «скина» не было веских причин.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.