Название: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: xintrea от Январь 06, 2014, 22:43 Пишу кроссплатформенное приложение (PIM-менеджер)
Проблема в том, что на разных системах с разными DPI текстовые записи в QTextEdit выглядят по-разному. В Windows - достаточно крупно, читать удобно. В десктоповом Linux - помельче, а в Android вообще мелко. То есть, хочу понять, как изменить общий масштаб всего что рендерится в QTextEdit. Вызовы типа resize() просто меняют размеры виджета QtextEdit. А нужно понять, как увеличить масштаб содержимого. Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: kambala от Январь 06, 2014, 23:48 установить размер шрифта документа побольше
Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: xintrea от Январь 07, 2014, 02:21 установить размер шрифта документа побольше Нельзя трогать форматирование текста. Надо просто увеличить масштаб всей области. Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: kambala от Январь 07, 2014, 02:51 метод zoomIn() тоже не то?
http://lists.qt.nokia.com/public/qt-interest/2010-May/023498.html может поможет Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: gil9red от Январь 07, 2014, 11:20 установить размер шрифта документа побольше Нельзя трогать форматирование текста. Надо просто увеличить масштаб всей области. http://code.woboq.org/qt5/qtbase/src/widgets/widgets/qtextedit.cpp.html#_ZN9QTextEdit6zoomInEi Код
Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: xintrea от Январь 07, 2014, 20:44 метод zoomIn() тоже не то? http://lists.qt.nokia.com/public/qt-interest/2010-May/023498.html может поможет Похоже, не поможет. Эти методы меняют исходник текста. Предпложим, пользователь PIM-менеджера, создал запись (документ) с таким HTML-текстом: Код: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> Теперь подумаем: 1. Пользователь, находясь под виндой, сам задал для всего документа размер 10pt, и первая строка отображается размером 10pt. Для второй строки пользователь сам указал размер 14pt, и вторая строка отображается размером 14pt. 2. Пользователь пересел на компьютер с другим экраном и и ситемным DPI и смотрит на эту запись. Он видит более мелкий текст. 3. Пользователь открыл эту запись на планшете с Андроид с мелким пикселем, и видит вообще микроскопический текст. То есть, пользователь сам задал размеры шрифтов, и ожидает, что программа _сама_ не будет их менять. Тем более, что если и менять этим методом, то просмотренные в другой системе записи "увеличатся"/"уменьшатся" в момент просмотра, а непросмотренные - останутся прежними. Понятно, что решение - запретить пользователю пользоваться понятием "размер шрифта" и заставить пользоваться стилями. Но это нехорошо по отношению к пользователю, ибо пользователи привыкли к MS/Libre Office и размер шрифта - это неотъемлемый атрибут инструментов форматирования. Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: _OLEGator_ от Январь 07, 2014, 20:56 QTextEdit обладает скудным функционалом, в таких случаях лучше переходить на QWebView.
Тем более нужный метод доступен сразу из коробки: Код
Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: xintrea от Январь 07, 2014, 21:32 QTextEdit обладает скудным функционалом, в таких случаях лучше переходить на QWebView. Тем более нужный метод доступен сразу из коробки: Код
QWebView не поддерживается в Android. Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: xintrea от Январь 07, 2014, 21:33 QTextEdit обладает скудным функционалом, в таких случаях лучше переходить на QWebView. Тем более нужный метод доступен сразу из коробки: Код
Я вот думаю, может как-то draw() переписать. Насколько это сложно будет? Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: UNION labs от Май 29, 2014, 11:24 xintrea, здравствуйте.
Столкнулся с этой же проблемой, удалось ли вам найти какое-нибудь решение этой проблемы? Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: Dimka Novikov от Декабрь 29, 2014, 15:51 Если кому-нибудь в будущем понадобится, то я вот как решил этот вопрос - https://github.com/dimkanovikov/ScalableWrapper
Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: __Heaven__ от Декабрь 29, 2014, 16:36 Если кому-нибудь в будущем понадобится, то я вот как решил этот вопрос - https://github.com/dimkanovikov/ScalableWrapper Цель достигнута, но при этом увеличивается и краешек виджета (см. аттач)Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: Dimka Novikov от Декабрь 29, 2014, 16:50 Да, тут есть артефакт. Но для меня на данный момент это не очень критично (даже вообще не критично), поэтому пока не разбирался, что с этим можно сделать и нужно ли это вообще.
Название: Re: Как для QTextEdit установить относительное маштабирование содержимого? (+25%) Отправлено: Dimka Novikov от Декабрь 29, 2014, 17:23 А вообще так можно масштабировать любой виджет наследник QAbstractScrollArea, просто мне нужен был именно QTextEdit с сохранением его контекстного меню...
|