Архив вопросов и ответов Вопросы и ответы, которые утратили свою актуальность


Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 30.09.2011, 10:03
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Qt 4.5.0, XP/mingw. Произвожу перемещение элемента (линии) по кнопке:Код:void GrView:nMoveLeft(){ line=vline->line(); if(line.x1()>0) { vline->setLine(line.x1()-10,line.y1(),line.x2()-10,line.y2()); }}Перерисовка происходит нормально. Но, если делать это в цикле:Код:void GrView::MoveTo0(){ int i,cur_x,cur_y; cur_x=(int)(vline->line().x1()); cur_y=(int)(hline->line().y1()); for(i=cur_x;i>0;i--){onMoveLeft();Helper::msleep(5);} for(i=cur_y;i>0;i--){onMoveUp();Helper::msleep(5);}}то не происходит перерисовки, пока цикл не пройдет до конца. Пробовал вызывать repaint(), update(), но так ничего и не добился.До protected QThread::msleep добрался так:Код:class Helper: public QThread {public: static void msleep(int ms) { QThread::msleep(ms); }};Как добиться перерисовки в цикле?
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Вывод в цикле! Guest Продолжение старого архива 0 16.10.2011 16:23
В цикле не выводится информация! Guest Продолжение старого архива 0 16.10.2011 16:15
Присвоение имен в цикле Guest Продолжение старого архива 0 16.10.2011 16:02
Цикл в цикле Guest Продолжение старого архива 0 16.10.2011 15:58
UPDATE в цикле Guest Продолжение старого архива 0 16.10.2011 14:47



© www.otvetnemail.ru - Форум вопросов и ответов.