![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
zuze |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Я рисую картинку в paintEvent() с помощью двух циклов (циклы большие), после этого выводится линия которая передвигается на определённое расстояние.
Но при выводе этой картинки из двух циклов, скорость передвижения линии падает, а если не выводить картинку, то линия выводится и передвигается как обычно. Как я понял из-за того, что paintEvent() выполняется многократно у меня замедляется передвижение линии. Как я понял надо значения двухмерного массива записать в объект Qpixmap и потом вывести в paintEvent() не используя циклы с помощью drawPixmap(). Ксожалению запись двухмерного массива записать в объект Qpixmap я не нашёл в сети примера. Все примеры только чтобы вывести бинарный файл. Я не могу передавать файл, так как в двухмерном массиве храниться информация из разных файлов. А результирующий файл создавать нельзя. Скажите пожалуйста, как запись двухмерного массива записать в объект Qpixmap? |
|
|
zuze |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Задачу решил. Но проблему мою это не сняло.
Сделал так
Я смог избавиться от циклов в paintEvent(), но к сожалению таймер линии всё равно медленно, работает. Как-то странно когда работает только таймер линии, то он работает прекрасно. Если я запускаю меняющиеся картинки используя второй таймер, то таймер линии медленнее работает. Почему может такое происходить ещё? Сообщение отредактировал zuze - 15.1.2013, 16:04 |
|
|
Алексей1153 |
![]()
Сообщение
#3
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
zuze, ты бы демонстрации приклеивал, сложно твои объяснения вот так воспринимать под ночь ))
попробуй копировать методами bool loadFromData ( const uchar * data, uint len, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) bool loadFromData ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 5.5.2025, 22:33 |