Russian Qt Forum

Qt => Вопросы новичков => Тема начата: alsav22 от Май 24, 2012, 18:41



Название: Параметры для setStyleSheet().
Отправлено: alsav22 от Май 24, 2012, 18:41
Подскажите, где можно посмотреть, как записываются параметры для  setStyleSheet(). Например, как там задаётся font для QLabel? Какие параметры, порядок следования и пр. Потыкался и нигде не нашёл.


Название: Re: Параметры для setStyleSheet().
Отправлено: kibsoft от Май 24, 2012, 19:04
Вот из доки примеры http://doc.qt.nokia.com/4.7-snapshot/stylesheet-examples.html


Название: Re: Параметры для setStyleSheet().
Отправлено: Bepec от Май 24, 2012, 19:05
http://doc.qt.nokia.com/4.7-snapshot/stylesheet-reference.html - так будет точнее.


Название: Re: Параметры для setStyleSheet().
Отправлено: alsav22 от Май 25, 2012, 22:15
Почему-то, нигде не указан порядок следования свойств после font:.
Методом тыка определил, что должен быть таким: setStyleSheet("font: bold italic 17pt Times;");


Название: Re: Параметры для setStyleSheet().
Отправлено: Alex_C от Май 25, 2012, 22:36
А не лучше ли св-во фонт указывать не из стайл-шит, а из св-ва setFont?
Кстати инфо для размышления - именно так и рекомендуют в доках св-во фонта устанавливать.


Название: Re: Параметры для setStyleSheet().
Отправлено: alsav22 от Май 25, 2012, 22:46
А не лучше ли св-во фонт указывать не из стайл-шит, а из св-ва setFont?
Кстати инфо для размышления - именно так и рекомендуют в доках св-во фонта устанавливать.

Может и лучше, но вопрос о другом.


Название: Re: Параметры для setStyleSheet().
Отправлено: Alex_C от Май 25, 2012, 23:13
Ну тогда так:
setStyleSheet("font-size: 17px; font-style: italic; font-weight: bold;");
И порядок тут не причем. Хотя да, можно и "одной фразой", как у Вас.


Название: Re: Параметры для setStyleSheet().
Отправлено: alsav22 от Май 25, 2012, 23:27
Ну тогда так:
setStyleSheet("font-size: 17px; font-style: italic; font-weight: bold;");
И порядок тут не причем. Хотя да, можно и "одной фразой", как у Вас.

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


Название: Re: Параметры для setStyleSheet().
Отправлено: Alex_C от Май 25, 2012, 23:47
Учитывая дотошность в таких вещах разработчиков Qt - вот реально молодцы ребята - посмотрите порядок в конструкторе QFont - судя по всему, он совпадает с порядком в stylesheet-е.


Название: Re: Параметры для setStyleSheet().
Отправлено: alsav22 от Май 26, 2012, 00:17
Учитывая дотошность в таких вещах разработчиков Qt - вот реально молодцы ребята - посмотрите порядок в конструкторе QFont - судя по всему, он совпадает с порядком в stylesheet-е.

В конструкторе так:
QFont ( const QString & family, int pointSize = -1, int weight = -1, bool italic = false )
Не совпадает.


Название: Re: Параметры для setStyleSheet().
Отправлено: Alex_C от Май 26, 2012, 00:27
Ну тогда и я буду дотошным: ты понимаешь, что "одной фразой" - это не правильно? Завтра выйдет Qt 5.0 - там они изменят порядок следования - твоя программа не будет работать?


Название: Re: Параметры для setStyleSheet().
Отправлено: alsav22 от Май 26, 2012, 00:42
Ну тогда и я буду дотошным: ты понимаешь, что "одной фразой" - это не правильно? Завтра выйдет Qt 5.0 - там они изменят порядок следования - твоя программа не будет работать?

И в документации неправильно пишут? Bepec выше ссылку даёт http://doc.qt.nokia.com/4.7-snapshot/stylesheet-reference.html. Там есть пример:

Example:
 QCheckBox { font: bold italic large "Times New Roman" }


Если будут поддерживать совместимость, не изменят.







Название: Re: Параметры для setStyleSheet().
Отправлено: alsav22 от Май 27, 2012, 02:12
В CSS прописано.