Russian Qt Forum

Qt => QSS => Тема начата: ruzik от Март 03, 2011, 20:51



Название: qss стили под лицензией gnu
Отправлено: ruzik от Март 03, 2011, 20:51
Здравствуйте, вот сделал основной стиль для моей проги, но задался целью предоставить пользователям возможность выбирать разные стили, и соответственно сам вопрос: не знаете где можно найти qss стили(в файлах) под лицензией gnu(или любой другой свободной) искал в инете, ничего нормального не нашел


Название: Re: qss стили под лицензией gnu
Отправлено: navrocky от Март 04, 2011, 13:21
Странное готовое решение для кладовки :D

Мало востребованная функция эти css стили, поэтому их и нет нигде, ИМХО


Название: Re: qss стили под лицензией gnu
Отправлено: ruzik от Март 04, 2011, 16:07
Жаль, по-моему очень удобно  :(


Название: Re: qss стили под лицензией gnu
Отправлено: ufna от Март 04, 2011, 16:18
Это вам так кажется, т.к. пока Вы не сделали полного стиля :) поверьте, там столько багов и решений через задницу, что нормальный полный дизайн (а не пару кнопочек) загнать не получается.


Название: Re: qss стили под лицензией gnu
Отправлено: ruzik от Март 04, 2011, 16:21
Да нет как раз таки наоборот, я сделал 1 дизайн, задолбался пипец, и теперь ищу уже готовые, что бы самому не делать  ;D
Ну в принципе-понравилось, хотя и слегка геморойно, особенно в 1 раз


Название: Re: qss стили под лицензией gnu
Отправлено: ufna от Март 04, 2011, 17:17
как вы думаете, а много извращенцев, кто будет делать готовые такие стили и потом бесплатно раздавать их? Может оно и есть, линк кстати дам чуть позже где "хранилище" по данной теме, но хорошие решения - фиг найдешь. Вы, к примеру, свой стиль выложить не желаете? :)


Название: Re: qss стили под лицензией gnu
Отправлено: navrocky от Март 05, 2011, 00:50
интересно глянуть действительно, хотя бы на скрин


Название: Re: qss стили под лицензией gnu
Отправлено: Racheengel от Март 06, 2011, 22:02
QSint::QActionPanel (отсюда: http://sintegrial.com/qsint) содержит несколько CSS стилей, в т.ч. XP и Vista, но это все сделано для конкретных виджетов, впрочем, смотря что Вам надо, из треда не совсем понятно...


Название: Re: qss стили под лицензией gnu
Отправлено: iroln от Апрель 25, 2012, 13:07
Поднимем тему :)

Так чего там на счет "хранилища" стилей для Qt? Есть оно или нет? Меня тоже интересует, существуют ли готовые стили, сделанные как CSS, либо классы-наследники QStyle. Я вот, например, хочу оформить свое приложение в темной цветовой гамме (типа как новый photoshop, или mocha), реализовывать самому для всех виджетов довольно большой геморрой. Вот я и подумал, может кто-то уже заморачивался на этот счет и склепал пару-тройку стилей? :)
В инете рылся, ничерта не нашел.


Название: Re: qss стили под лицензией gnu
Отправлено: kambala от Апрель 25, 2012, 18:25
посмотри исходники texmaker - там есть тёмная тема


Название: Re: qss стили под лицензией gnu
Отправлено: iroln от Апрель 25, 2012, 19:58
kambala, благодарю за наводку. Как-то совсем забыл про него, а ведь сам пользуюсь им на работе. Его тема мне нравится. Хочу сделать нечто подобное, или похожее на Qt Creator.

offtop: минут 20 искал его репозиторий, так и не нашёл. Потом зашёл на страничку загрузки, увидел архив с исходниками. Видимо разработчики привыкли выкладывать сорцы в архивах. Не гуд. :)

UPD: Смешно, но эти ребята используют минисплиттеры и класс стиля ManhattanStyle из Qt Creator. Теперь понятно, почему такие похожие интерфейсы.  ::)


Название: Re: qss стили под лицензией gnu
Отправлено: iroln от Апрель 26, 2012, 22:00
Пробую использовать стиль из QtCreator (ManhattanStyle). Чего-то не выходит. Сделал минимальный проект, выдрал из исходников креатора всё, что нужно для ManhattanStyle. Компилируется нормально. Пробую ставить стиль - не ставится, вернее ставится, но получается какая-то фигня.

Вот так ставлю:
Код
C++ (Qt)
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "manhattanstyle.h"
 
#include <QString>
 
 
MainWindow::MainWindow(QWidget *parent) :
   QMainWindow(parent),
   ui(new Ui::MainWindow)
{
   ui->setupUi(this);
 
   QString baseName = QApplication::style()->objectName();
   qApp->setStyle(new ManhattanStyle(baseName));
}
 

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

Выкладываю свой минимальный проект.


Название: Re: qss стили под лицензией gnu
Отправлено: iroln от Апрель 29, 2012, 11:02
Если кому интересно, вот кое-что:
http://tech-artists.org/forum/showthread.php?t=2359


Название: Re: qss стили под лицензией gnu
Отправлено: Rodegast от Декабрь 20, 2013, 21:13
https://github.com/ColinDuquesnoy/QDarkStyleSheet
https://github.com/hydexon/Qt-Stylesheets
https://github.com/sylvainberger/qtStyleSheet


Название: Re: qss стили под лицензией gnu
Отправлено: Alex Custov от Январь 10, 2014, 00:29
https://qt-project.org/wiki/Style-CSSBased

Собственно, все они говно. Не знаю почему, но нормальных стилей на QSS практически нет. Самый нормальный из виденных - это QDarkStyleSheet, но и его выпускать в свет нельзя без обработки напильником.

Up

Цитировать
Не знаю почему, но нормальных стилей на QSS практически нет.

Начинаю понимать - полностью стилизовать программу на QSS нельзя, её придётся серьёзно допиливать, и всё равно до конца не допилишь :(


Название: Re: qss стили под лицензией gnu
Отправлено: Nidxogg от Январь 10, 2014, 20:58
Чем же тогда делать "навороченный" интерфейс? :D

P.S Что-нибудь такое приделать к Qtвиджетам можно? http://code.google.com/p/begui/
Если да, то как?


Название: Re: qss стили под лицензией gnu
Отправлено: Alex Custov от Январь 10, 2014, 22:23
Чем же тогда делать "навороченный" интерфейс? :D
P.S Что-нибудь такое приделать к Qtвиджетам можно? http://code.google.com/p/begui/

Именно такое можно и на QSS. Я говорю о том, что полностью кастомизировать программу с помощью QSS нельзя. Ты столкнёшься с тем, что QSS не позволяет настроить то, что нужно настроить. Например, задать свои иконки для QToolButton или определённых элементов QMenu, задать цвет ссылок внутри QLabel и др. А без этого поддержка т.н. тем для программы бессмысленна - она будет недостаточной. Например, у тебя есть дефолтная жизнерадостная тема. Какой-нибудь гот захотел сделать QSS с мрачной темой чтобы пользоваться твоей программой глубокой ночью на кладбище. Стилизовать кнопки и меню иконками у него не выйдет, на потеху дизайнерам получится мрачная тема с весёлыми иконками. Чтобы сделать полную кастомизацию нужно прибегать к чудовищным хакам, увидев которые другие усомнятся в твоей адекватности.


Название: Re: qss стили под лицензией gnu
Отправлено: Nidxogg от Январь 10, 2014, 22:45
Цитировать
Чтобы сделать полную кастомизацию нужно прибегать к чудовищным хакам, увидев которые другие усомнятся в твоей адекватности.
А если отойти от темы qss, как можно осуществить эту кастомизацию с сохранением функционала стандартных Qt виджетов?


Название: Re: qss стили под лицензией gnu
Отправлено: Alex Custov от Январь 10, 2014, 23:18
А если отойти от темы qss, как можно осуществить эту кастомизацию с сохранением функционала стандартных Qt виджетов?

По хардкору - написать свой QStyle.


Название: Re: qss стили под лицензией gnu
Отправлено: carrygun от Январь 13, 2014, 12:27
Именно такое можно и на QSS. Я говорю о том, что полностью кастомизировать программу с помощью QSS нельзя. Ты столкнёшься с тем, что QSS не позволяет настроить то, что нужно настроить. Например, задать свои иконки для QToolButton или определённых элементов QMenu, задать цвет ссылок внутри QLabel и др...
Но ведь проперти можно таки подкрутить. Или имена задать тем же менюшкам и селектором выбрать нужных. Можно почитать вот тут (http://qt-project.org/doc/qt-4.8/stylesheet-syntax.html#setting-qobject-properties).


Название: Re: qss стили под лицензией gnu
Отправлено: Igors от Январь 13, 2014, 13:36
Чем же тогда делать "навороченный" интерфейс? :D

P.S Что-нибудь такое приделать к Qtвиджетам можно? http://code.google.com/p/begui/
Если да, то как?
Если имеется ввиду "взять готовый" то там не густо. Если "делать" то нужно (хотя бы примерно) представлять сколько там работы (нудной и кропотливой). Мало не покажется. Мне сейчас нужно свое popup - всего 1(один) контрол, даже меньше. Пыхтю, но пока пусто.

А то видать был обычный расчет - открыл букварь, нашел класс, прицепил - поехали  :)


Название: Re: qss стили под лицензией gnu
Отправлено: Alex Custov от Январь 13, 2014, 14:27
Но ведь проперти можно таки подкрутить. Или имена задать тем же менюшкам и селектором выбрать нужных.

А как стилизовать конкретный элемент меню?


Название: Re: qss стили под лицензией gnu
Отправлено: Nidxogg от Январь 13, 2014, 17:23
Элемент меню - это же QAction?
По уникальному имени наверное или аналогично примеру QDialog - QPushbutton


Название: Re: qss стили под лицензией gnu
Отправлено: Alex Custov от Январь 13, 2014, 19:02
Элемент меню - это же QAction?

нэт, QAction это даже не виджет.


Название: Re: qss стили под лицензией gnu
Отправлено: carrygun от Январь 14, 2014, 05:14
С меню действительно засада. Если надо конкретный пункт стилизировать, то советуют либо наследоваться от меню и перерисовывать, либо запилить свое меню.