Сейчас на форуме: rmn, exp50848 (+8 невидимых)

 eXeL@B —› Основной форум —› Linux и Qt приложение (плагин). Есть здесь те, кто знаком с этой связкой (Linux+Qt)?
Посл.ответ Сообщение

Ранг: 67.4 (постоянный), 6thx
Активность: 0.050
Статус: Участник

Создано: 23 августа 2012 14:12 · Поправил: Kiev78
· Личное сообщение · #1

В общем идея понятна, всем спасибо.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 23 августа 2012 15:37
· Личное сообщение · #2

Ищи виджет, отвечающий за главное окно редактора. Что-нибудь типа QTextEdit, QListView или даже QAbstractItemView. Советую собрать простейший пример из состава QtSDK и посмотреть как шрифты задаются там, сложного ничего нет. Сам смотреть не буду, т.к. занят сами знаете чем.



Ранг: 67.4 (постоянный), 6thx
Активность: 0.050
Статус: Участник

Создано: 23 августа 2012 20:45 · Поправил: Kiev78
· Личное сообщение · #3

---




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 23 августа 2012 22:25
· Личное сообщение · #4

Не уверен, но можешь покопать где-то рядом:
Code:
  1. .text:0000FD6B                 call    _setFont__8QPainterRC5QFont ; QPainter::setFont(QFont const &)


-----
Следуй за белым кроликом




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 24 августа 2012 00:33
· Личное сообщение · #5

Kiev78
Можно через Font.setPointSize или компонент ->setText.



Ранг: 67.4 (постоянный), 6thx
Активность: 0.050
Статус: Участник

Создано: 24 августа 2012 08:45 · Поправил: Kiev78
· Личное сообщение · #6

---



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 24 августа 2012 11:18
· Личное сообщение · #7

Как по мне - глухое дело. Единственное место нашел где ставится шрифт это ViewCncEdit::paintCell, да и тот передается из передаваемого без изменений параметра Painter->font() т.е. ставится такой же шрифт как и родительского виджета. А при создании виджетов нигде не задаются шрифты, т.е. используются стандартные метрики. Т.е. либо ищите местный qtconfig либо придется придется дописывать нужный код



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 24 августа 2012 23:54
· Личное сообщение · #8

Да какая разница? Линукс, винда. Это вообще не столь важно. Qt кросс-платформенный фреймворк, и в отличие от менее развитого собрата wxWidgets, который задумывался как маленький нативный фреймворк (т.е. определяется набор графических возможностей и далее они стараются реализовать эти возможности для всех ОС, причем для каждой ОС определяется, есть ли там аналогичная нативная функция/вызов в API, и только если она там отсутствует ее пишут самостоятельно, через другие системные вызовы), Qt мало полагается на ОС и большинство функций реализует сразу для всех систем, не стараясь экономить на коде. Т.е. тот же метод setText в винде также будет в программе и под линем, если пересобрать проект под линь.

Т.е. ставим на винду QtSDK, собираем проект в котором меняются параметры шрифта у виджета. Перед этим вызовом и после него можно поставить какие-нибудь маркеры, вроде вызова какой-нибудь функции, которая еще и MessageBoxA на экран выплевывает. Далее открыть полученный файл дизасмом, локализовать вызов того же setText или setFont, и тоже самое сделать с данной либой, правда скорее всего код придется вставлять в конец секции (или как там в ELF-ах все это называется?) и редиректить туда основной код, сохранив пропатченные байты. Код что-то типа такого:
Code:
  1.         QFont font;
  2.         font.setPointSize(20);
  3.         textEdit->setFont(font);



 eXeL@B —› Основной форум —› Linux и Qt приложение (плагин). Есть здесь те, кто знаком с этой связкой (Linux+Qt)?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати