Здравствуйте, гость ( Вход | Регистрация )
|
zuze |
29.3.2013, 10:34
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Я пытаюсь закрасить область красным цветом за определённое время. Область будет закрашиватся каждый раз пока я не остановлю таймер.
Код: Должно быстро закрашиватся цветом, а закрашивается, только через каждые 0.5 секунды. Почему так происходит? В Qt всё быстро закрашивается. |
|
|
|
![]() |
|
lanz |
15.4.2013, 16:43
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
1. Не нужно вызывать update в методе paintEvent это плодит ненужные циклы отрисовки.
2. Если используете Indexed8, то нужно определить таблицу цветов, Цитата If format is an indexed color format, the image color table is initially empty and must be sufficiently expanded with setColorCount() or setColorTable() before the image is used. 3. Если используете ARGB32, то байт должно быть в 4 раза больше (красная, зеленая, синияя и альфа - компоненты) т.е. размер файла должен быть 492*720*4. 4. data должен быть валиден в течении всего времени жизни картинки. (т.е. не должен быть локальной переменной) Цитата The buffer must remain valid throughout the life of the QImage. The image does not delete the buffer at destruction. Это происходит потому что вызывается конструктор с неконстантным первым uchar*. 5. Эти преобразования бесполезны. То же самое будет если сделать |
|
|
|
zuze Торможения таймера при рисовании 29.3.2013, 10:34
Iron Bug питон - интерпретатор. его скорость от 10 до 500 р... 29.3.2013, 11:02
zuze Цитата(Iron Bug @ 29.3.2013, 11:02) питон... 29.3.2013, 11:17
Iron Bug если ты утверждаешь, что Qt не тормозит, то больше... 29.3.2013, 16:57
zuze Прямоугольная область с торможениями закрашивается... 3.4.2013, 15:28
lanz timer.start((0.005 * 1000) / 60)
(... 4.4.2013, 9:20
zuze Цитата(lanz @ 4.4.2013, 9:20) Т.е. картин... 4.4.2013, 9:24
lanz ЦитатаА как это поправить?
Нужно картинку сгенери... 4.4.2013, 9:50
zuze Цитата(lanz @ 4.4.2013, 9:50) Может он и ... 4.4.2013, 10:17
lanz Если картинка не успевает обновится за 15 мс (а он... 4.4.2013, 10:37
zuze Цитата(lanz @ 4.4.2013, 10:37) Поэтому и ... 4.4.2013, 10:45
lanz 1. Таймер в Qt. Python только вызывает функции.
2.... 4.4.2013, 10:57
zuze Цитата(lanz @ 4.4.2013, 10:57) 2. А как б... 4.4.2013, 11:11
zuze Как я понял, мой коде есть ряд ошибок:
1. Код не у... 5.4.2013, 13:46
lanz ЦитатаКод не удовлетворяет модели "модель-пре... 8.4.2013, 8:45
zuze Цитата(lanz @ 8.4.2013, 8:45) Основные то... 8.4.2013, 8:54
zuze Решил проверить время выполнения кода.
if self.ui... 8.4.2013, 10:21
lanz Все правильно, подготовка картинки занимает почти ... 8.4.2013, 10:35
zuze Цитата(lanz @ 8.4.2013, 10:35) Картинку н... 8.4.2013, 10:43
lanz Это все понятно, но картинка обновляется только ко... 8.4.2013, 10:51
zuze Цитата(lanz @ 8.4.2013, 10:51) Это все по... 8.4.2013, 11:05
lanz Нет, я о том чтобы убрать вот это
if self.ui.chec... 8.4.2013, 11:41
zuze Цитата(lanz @ 8.4.2013, 11:41) Нет, я о т... 8.4.2013, 12:19
lanz Туда, где загружается картинка. 8.4.2013, 12:22
zuze Цитата(lanz @ 8.4.2013, 12:22) Туда, где ... 8.4.2013, 13:14
zuze Цитата(zuze @ 8.4.2013, 10:21) Все правил... 8.4.2013, 14:00
lanz Потому что время замеряется ВНУТРИ одного вызова и... 8.4.2013, 16:03
zuze Цитата(lanz @ 8.4.2013, 16:03) Все зависи... 8.4.2013, 16:11
lanz Это я помню
В Qt этот код был не в paintEvent. 8.4.2013, 16:52
zuze Цитата(lanz @ 8.4.2013, 16:52) В Qt этот ... 8.4.2013, 21:12
lanz И в том треде я писал, что надо вынести этот код и... 9.4.2013, 8:25
zuze Цитата(lanz @ 9.4.2013, 8:25) И вообще, н... 9.4.2013, 9:40
lanz Во втором пункте никак не избавиться.
С какой ско... 9.4.2013, 13:35
zuze Цитата(lanz @ 9.4.2013, 13:35) С какой ск... 9.4.2013, 13:38
lanz А сколько времени должна рисоваться одна картинка? 10.4.2013, 14:20
zuze Цитата(lanz @ 10.4.2013, 14:20) А сколько... 10.4.2013, 15:55
lanz Очень странные цифры, за 50 мс - это два - три кад... 10.4.2013, 16:21
zuze Цитата(lanz @ 10.4.2013, 16:21) зачем пер... 11.4.2013, 15:16
zuze Сделал так:
data = a.tostring()
im = QtGu... 15.4.2013, 13:06
lanz Ошибка при работе с памятью скорее всего, видимо с... 15.4.2013, 13:55
zuze Цитата(lanz @ 15.4.2013, 13:55) Выложите ... 15.4.2013, 14:25
zuze Я сделал так:
# -*- coding: utf-8 -*-
from Py... 16.4.2013, 8:44
lanz ЦитатаЯ незнаю как сделать im локально, так как я ... 16.4.2013, 9:46
zuze Цитата(lanz @ 16.4.2013, 9:46) Не надо де... 16.4.2013, 10:07
lanz Конечно. Загружаете 720*492 байт, а картинке говор... 16.4.2013, 10:23
zuze Цитата(lanz @ 16.4.2013, 10:23) Конечно. ... 16.4.2013, 10:36
lanz Можно использовать Format_Indexed8, только нужно о... 16.4.2013, 11:29
zuze Цитата(lanz @ 16.4.2013, 11:29) Можно исп... 16.4.2013, 12:21
lanz setColorTable нужно вызывать у конкретного экземпл... 16.4.2013, 12:48
zuze Цитата(lanz @ 16.4.2013, 12:48) setColorT... 16.4.2013, 13:00
lanz im = QtGui.QImage(data, 492, 720, QtGui.QImage... 16.4.2013, 13:59
zuze Цитата(lanz @ 16.4.2013, 13:59) И как эти... 16.4.2013, 14:07
lanz ЦитатаПервый байт после управляющих символов - это... 16.4.2013, 14:36
zuze Цитата(lanz @ 16.4.2013, 14:36) Вопрос - ... 16.4.2013, 14:41
lanz У меня все отрисовывается без ошибок.
Возможно про... 16.4.2013, 15:42
zuze lanz, прошу прощения, что не отвечал, был в отпуск... 7.5.2013, 10:53
lanz С выводом картинки, насколько я понял проблем нет.... 14.5.2013, 9:30![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 10.2.2026, 14:29 |