Файл eink.qss - стиль отображения меню и диалогов

Cool Reader
kaznelson
Posts: 328
Joined: Thu Jan 22, 2015 6:37 am
My ELO: I don't know

Файл eink.qss - стиль отображения меню и диалогов

Post by kaznelson » Sat Jan 24, 2015 9:55 am

Редактированием файла eink.qss можно на свой вкус изменить отображение всяких меню и диалогов, однако есть нюансы.

1. Поскольку eink.qss у меня отредактирован, то в некоторых приложениях кнопки оказались слишком узкими и шрифт режется - к примеру, в диалоге сохранения notepad'a.

2. Программы не понимают выбора начертания demi в файле eink.qss, хотя по идее Qt такое начертание обрабатывает.

3. Возможно ли в eink.qss указывать свой шрифт для настроек и меню? Сейчас в cr3 зашит шрифт DeJaVu, а он сильно на любителя, имхо...

Свой eink.qss (от 2016.11.29) прилагаю:
Attachments
eink.zip
(1.62 KiB) Downloaded 341 times
Last edited by kaznelson on Tue Nov 29, 2016 5:48 am, edited 10 times in total.
Kobo Aura H2O, Kobo Glo HD, Kindle Paperwhite 2

sergeyvl
Posts: 1564
Joined: Sun Nov 13, 2011 5:43 pm
My ELO: 1700-1800
Location: Харьков
Contact:

Re: Файл eink.qss - стиль отображения меню и диалогов

Post by sergeyvl » Sat Jan 24, 2015 10:02 am

Спасибо! Посмотрим как его можно улучшить ...

sergeyvl
Posts: 1564
Joined: Sun Nov 13, 2011 5:43 pm
My ELO: 1700-1800
Location: Харьков
Contact:

Re: Файл eink.qss - стиль отображения меню и диалогов

Post by sergeyvl » Sat Jan 24, 2015 10:24 am

kaznelson wrote: 1. Поскольку eink.qss у меня отредактирован, то в некоторых приложениях кнопки оказались слишком узкими и шрифт режется - к примеру, в диалоге сохранения notepad'a.
Qt - хорошая библиотека, но не идеальная как и все в мире :)

QPushButton {
font-size: 11pt;
font: bold;
padding: 9px;
min-height: 50px;
/*
min-width: 50px;
*/
color: black;
border: 1px solid black;
background: white;
outline: none;
}

Закомментил min-width и обрезаться перестало. Видно Qt как-то рассчитывает величину диалога без учкта стилей. А потом min-width путает ему (а вернее нам) все карты, заставляя кнопку "Ok" расшириться и за её счет сузиться кнопку "Cancel"

UPD.
padding работает хорошо. лучше убрать min-width, min-height и использовать его.

sergeyvl
Posts: 1564
Joined: Sun Nov 13, 2011 5:43 pm
My ELO: 1700-1800
Location: Харьков
Contact:

Re: Файл eink.qss - стиль отображения меню и диалогов

Post by sergeyvl » Sat Jan 24, 2015 10:25 am

kaznelson wrote: 2. Программы не понимают выбора начертания demi в файле eink.qss, хотя по идее Qt такое начертание обрабатывает.
что такое начертание demi? шрифт такой? Если шрифт, то его нужно закинуть в Qt/lib/fonts

kaznelson
Posts: 328
Joined: Thu Jan 22, 2015 6:37 am
My ELO: I don't know

Re: Файл eink.qss - стиль отображения меню и диалогов

Post by kaznelson » Sat Jan 24, 2015 10:58 am

Насчёт min-width спасибо, буду править eink.qss. :)
sergeyvl wrote:что такое начертание demi? шрифт такой? Если шрифт, то его нужно закинуть в Qt/lib/fonts
Demibold - это среднее по насыщенности начертание между regular и bold:
http://www.paratype.ru/help/term/terms.asp?code=370
http://www.webtype.com/info/articles/fonts-weights/

Я утолщал DejaVu, делая ему характеристики demi в FontCreator'e, но и в правильной папке шрифт всё равно не воспринимается и выбирается regular.

Насколько я знаю, в идеале Qt может выбирать шрифт по названию стиля (Light, Light Italic, Bold, Oblique, Demi ...) или напрямую по весу (100, 200, 300, 400, 500, 600, 700 ...)
Kobo Aura H2O, Kobo Glo HD, Kindle Paperwhite 2

sergeyvl
Posts: 1564
Joined: Sun Nov 13, 2011 5:43 pm
My ELO: 1700-1800
Location: Харьков
Contact:

Re: Файл eink.qss - стиль отображения меню и диалогов

Post by sergeyvl » Sat Jan 24, 2015 11:49 am

Лучше распиши пошагово что ты делал. И файл шрифта приатач.

kaznelson
Posts: 328
Joined: Thu Jan 22, 2015 6:37 am
My ELO: I don't know

Re: Файл eink.qss - стиль отображения меню и диалогов

Post by kaznelson » Sat Jan 24, 2015 12:49 pm

Сюда не прикрепить - "Максимальный разрешённый размер: 256 КБ."
Вот: http://rghost.ru/60529561

Шрифт DejaVu Sans утолщён и переделан в Demi в FontCreator (см. картинки).
Положил рядом с исходным в .kobo/vlasovsoft/fonts
В eink.qss прописал для нужных элементов поочерёдно font: demi; / font: demibold;

И не работает... Причём этот же шрифт, но оформленный в FontCreator как Bold - подхватывается без проблем.
Attachments
3.png
3.png (15.67 KiB) Viewed 6023 times
2.png
2.png (13.61 KiB) Viewed 6023 times
1.png
1.png (11.93 KiB) Viewed 6023 times
Kobo Aura H2O, Kobo Glo HD, Kindle Paperwhite 2

sergeyvl
Posts: 1564
Joined: Sun Nov 13, 2011 5:43 pm
My ELO: 1700-1800
Location: Харьков
Contact:

Re: Файл eink.qss - стиль отображения меню и диалогов

Post by sergeyvl » Sun Jan 25, 2015 9:21 am

Сдается мне что просто

Code: Select all

font: demi; / font: demibold;
не достаточно.

вот пример из документации по стилям

Code: Select all

QCheckBox { font: bold italic large "Times New Roman" }
там я думаю нужно четко указывать family что в нашем случае DejaVu Sans, weight, style

вот кусочек докумантации:

http://qt-project.org/doc/qt-4.8/styles ... font-style

будет время - поковыряюсь.

UPD. Поковырялся. Пока не получилось DemiBold использовать в стилях.

kaznelson
Posts: 328
Joined: Thu Jan 22, 2015 6:37 am
My ELO: I don't know

padding

Post by kaznelson » Fri Feb 06, 2015 1:26 pm

sergeyvl
Скажите, а как обрабатывается padding в файле eink.qss?
Почему-то когда задаю padding по кругу одной строкой - первое значение (верхний отступ) влияет также и на третье (нижний):

Code: Select all

QMenu {
  font-size: 10pt;
  font: bold;
  padding: 15px 25px 10px 25px;
  margin: 0px;
  border: 4px solid #222222;
  border-radius: 10px;
  background-color: white;
}
Т.е. строка "padding: 150px 25px 10px 25px;" даёт эффект примерно как "padding: 150px 25px 100px 25px;"

sergeyvl
Posts: 1564
Joined: Sun Nov 13, 2011 5:43 pm
My ELO: 1700-1800
Location: Харьков
Contact:

Re: padding

Post by sergeyvl » Fri Feb 06, 2015 1:43 pm

kaznelson wrote:sergeyvl
Скажите, а как обрабатывается padding в файле eink.qss?
Почему-то когда задаю padding по кругу одной строкой - первое значение (верхний отступ) влияет также и на третье (нижний):

Code: Select all

QMenu {
  font-size: 10pt;
  font: bold;
  padding: 15px 25px 10px 25px;
  margin: 0px;
  border: 4px solid #222222;
  border-radius: 10px;
  background-color: white;
}
Т.е. строка "padding: 150px 25px 10px 25px;" даёт эффект примерно как "padding: 150px 25px 100px 25px;"
не знаю. не должно такого быть. а если использовать

padding-top, padding-right, padding-bottom, и padding-left ?

Post Reply