crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Фигуры Лиссажу
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 29.10.2010, 21:37
 
Цитата(Алексей1153 @ 29.10.2010, 23:45) *
QMainWindow, точно утверждать не могу, но, возможно, ты соединяешь сигнал со слотом ещё раз, следовательно таймер срабатывает с "дребезгом"
Алексей, почти в яблочко. Только вместо дребезга картинка такая:
сколько раз сигнал соединён с одним и тем же слотом, столько раз он и будет доставлен в слот.

QMainWindow, Если MainWindow::Start() - это слот, то фкнцияю соединения вынеси туда, где создаётся объект таймера. А в этом слоте только запускай таймер
Алексей1153 Дата 29.10.2010, 20:45
  QMainWindow, точно утверждать не могу, но, возможно, ты соединяешь сигнал со слотом ещё раз, следовательно таймер срабатывает с "дребезгом"

Делай контроль количества соединений. Или по кнопке "стоп" рассоединяй сигнал и слот

А ещё лучше - соединить один раз в конструкторе и больше не трогать :)
QMainWindow Дата 29.10.2010, 20:09
  Спасибо за прогу, посмотрел.
Обнаружился интересный феномен (по крайней для меня).
Вот код:
void MainWindow::Start()
{
    connect(timer, SIGNAL(timeout()), this, SLOT(NewFrame()));
    timer->start(10);
}

и слот:
void MainWindow::NewFrame()
{
    Tr.remove(1);
    Tr.append(QLineF(R1*cos(w1*t+f1), R2*sin(w2*t+f2), R1*cos(w1*(t-dt)+f1), R2*sin(w2*(t-dt)+f2)));
    t=t+dt;
    update();
}

Это кнопка Старт. Прикол в том, что если на нее нажимать много раз, не меняя какие-либо параметры на панели, то точка на экране начнет двигаться быстрее и быстрее. Как это можно объяснить?
Litkevich Yuriy Дата 29.10.2010, 9:44
  Тему разделил: О прикрепленых файлах
Алексей1153 Дата 29.10.2010, 6:47
  ха, я понял, почему не прицепился файл. Дурацкое ограничение - использовать только зип. А у меня в раре был
Алексей1153 Дата 28.10.2010, 20:44
  QMainWindow, хм, я , видать, забыл кнопочку нажать. А потом форум был в дауне.

С собой нету проекта, завтра с работы скину
QMainWindow Дата 28.10.2010, 20:39
  Спасибо, а где собственно прикрепленный архив? :) Не видно что-то...
Алексей1153 Дата 28.10.2010, 11:28
  вот, что у меня вышло. Правда, кольцевой буфер содержит сейчас QPoint, но нпеределать в QLine не сложно - когда кладёшь очередную точку добавляй линию. Это сделай сам, а мне щас работать надо ))


приращение времени я в регулируемое окошко не выводил, тоже сам делай

m_t+=3;//dt;

Алексей1153 Дата 28.10.2010, 9:35
  QMainWindow, я скачал таки. Ищу драчовый напильник, доводить до ума )))

вообще то, плоттеры обычно делают в новом классе, так ГОРАЗДО УДОБНЕЕ. Но это переделывать я не буду - сам уж сделаешь
Алексей1153 Дата 28.10.2010, 8:37
  QMainWindow, не открывается ссылка. Сделай проще - удали папки release и debug, да архивчик тут подвесь
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 11.12.2024, 21:06