Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 25.10.2009, 11:59 |
может есть смысл рисовать используя QCanvas нет такого класса в Qt4! |
|
BRE | Дата 25.10.2009, 9:41 |
спасибо за советы. После исправлений все заработало но возникла другая проблема(про которую я забыл) - рисунок после перерисовки стирался и приходилось заново все рисовать - может есть смысл рисовать используя QCanvas может он более для этого удобен? Можно рисовать на QPixmap и эту картинку выводить на виджет в paintEvent. Можно сохранять все состояния линий в списке и в paintEvent их все перерисовывать. |
|
voipp | Дата 25.10.2009, 6:33 |
спасибо за советы. После исправлений все заработало но возникла другая проблема(про которую я забыл) - рисунок после перерисовки стирался и приходилось заново все рисовать - может есть смысл рисовать используя QCanvas может он более для этого удобен? | |
Litkevich Yuriy | Дата 24.10.2009, 22:01 |
Первое, что бросается в глаза - это: connect(ui->Right,SIGNAL(Clicked),this,SIGNAL(pRight())); сигнал - это функция, и форма записи у неё такая:function() т.е. со скобками painter= new QPainter(this); относительно рисовальщика уже упоминалось, что его лучше создавать в виде локальной переменной в функции paintEvent |
|
voipp | Дата 24.10.2009, 18:53 |
Я создал приложение вкотором на доке 4 кнопки а в центре виджет widget для рисования Вот что у меня получилось но выскакивает ошибка что множственное определение (multiple definition) и показывается код который преобразовал компилятор COM
curr_direct это перечисление со значениями ltft right up down |
|
Litkevich Yuriy | Дата 24.10.2009, 17:59 |
но я вообще хотел совсем в другом классе реализовать сигналы. реализуй сигналы там, где они нужны.Проблема заключается что в этих сигналах я вызываю update() в сигналах ты ничего не делаешь, они просто посылаются. (Т.е. с точки зрения Си++ ты не описываешь код функции-сигнала). Функцию update() ты вызываешь в слоте, как в примере, который привёл тебе BREvoipp, не цитируй сообщения целиком, цитируй только нужный фрагмент (см. справку) |
|
BRE | Дата 24.10.2009, 17:11 |
но я вообще хотел совсем в другом классе реализовать сигналы. Проблема заключается что в этих сигналах я вызываю update() а он уже перерисовывает widget который определен в другом классе тоесть никакой информации о том что за кнопка вызввала перерисовку нет в этом то и проблема Покажи примерный код, а то по описанию не очень понятно. |
|
voipp | Дата 24.10.2009, 17:08 |
как реализовать индивидуальные для сигналов прорисовки виджета? Эээ... если я правильно понял о чем речь.
спасибо но я вообще хотел совсем в другом классе реализовать сигналы. Проблема заключается что в этих сигналах я вызываю update() а он уже перерисовывает widget который определен в другом классе тоесть никакой информации о том что за кнопка вызввала перерисовку нет в этом то и проблема |
|
BRE | Дата 24.10.2009, 16:47 |
как реализовать индивидуальные для сигналов прорисовки виджета? Эээ... если я правильно понял о чем речь.
|
|
voipp | Дата 24.10.2009, 16:39 |
как реализовать индивидуальные для сигналов прорисовки виджета? | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 18.4.2024, 15:30 |