Название: Плавный скроллинг в QT Отправлено: troorl от Август 15, 2006, 09:55 Задался целью написать программу, о которой уже давно втихаря мечтал (Just for fun) - читалу электронных книг.
Одним из требований является плавный скролл текста (возможно автопрокрутка, плавное листание). Также хочеться реализовать постраничное листание не зависимо от размера окна (т.е. пользователь нажимает на пробел - и страничка сама плавно прокручивается вверх ровно настолько, чтобы последняя видимая строка стала первой невидимой). Что-то похожее есть в ICE Book Reader. Но там алгоритм этой прокрутки меня немного пугает. Автор этой программы при прокрутке манипулирует не текстом, а изображением этого текста (предварительнно сохраняя его в буфер). Это даёт возможность сделать кэш, что при быстром листании очень даже выручает. В Linux видел такую фичу на примере Kpdf - читалка pdf-файлов для KDE. Даже когда у меня стояли медленные дрова на видео эта программа максимально плавно прокручивала страницы (хотя сдаётся мне, что без перегонки изображения в буфер там тоже не обошлось). Так вот собственно хотел поинтересоваться. Может у кого-то есть какие-то мысли есть по поводу того, как вышеописанные вещи можно реализовать на чистом QT? Желательно сам принцип. Название: Плавный скроллинг в QT Отправлено: Hordi от Август 15, 2006, 10:04 если о qt3 говорить, то юзаешь QCanvas - плавное передвижение достаточно большого текста очень даже реальная штука.
Название: Плавный скроллинг в QT Отправлено: troorl от Август 15, 2006, 10:37 Цитата: "Hordi" если о qt3 говорить, то юзаешь QCanvas - плавное передвижение достаточно большого текста очень даже реальная штука. А стоят ли затраты на расчёты размеров текста и буфера и прочего гемороя конечного результата? Я имею в виду, намного ли это сложнее, чем просто воспользоваться QTextBrowser? При условии, что размер шрифта можно будет менять на лету, да и сам шрифт будет неоднородным. Здесь всё упирается в количество символов, которые нужно передать на канву, чтобы полностью её заполнить.Название: Плавный скроллинг в QT Отправлено: QCasper от Август 15, 2006, 21:09 firefox довольно плавно скролит при нажатии на среднюю кнопку мыши.
Название: Плавный скроллинг в QT Отправлено: Hordi от Август 15, 2006, 21:56 2 troorl:
Стоит, тем более не намного все сложнее. Название: Плавный скроллинг в QT Отправлено: Вудруф от Август 16, 2006, 05:39 QCasper: отнюдь. У BookReader'а более плавная прокрутка. А Firefox мерцает :(
Название: Плавный скроллинг в QT Отправлено: QCasper от Август 16, 2006, 10:21 Цитата: "Вудруф" QCasper: отнюдь. У BookReader'а более плавная прокрутка. А Firefox мерцает :( да.. сейчас вот на другой машине действительно заметил мерцание, дома не мерцало :) |