Russian Qt Forum
Октябрь 01, 2024, 14:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Динамическое построение графика  (Прочитано 3561 раз)
QPeter
Гость
« : Март 08, 2014, 00:18 »

Нужно постоянно дорисовывать график значениями динамически появляющимися из файла. И проблема в том что бы изображение графика изменилось его нужно переместить(кнопкой мыши сместить значение вправо/влево/...), как сделать так чтоб новые точки сами появлялись, без "перетаскивания" графика.
Вывожу точки из графика следующим образом:
Код:
void Widget:: pointsmath(){
    //-------------------------------------------------------------------------------------------------
    QFile mFile("C:/TestDiplom/test.txt");
    if(!mFile.open(QFile::ReadOnly|QFile::Text))//если ввести не существующую директорию или неверное имя, или если файл нельзя прочесть
    {
        QMessageBox::information(this, "Error", "Путь не правильный");
        return;
    }
    QTextStream stream(&mFile);
    qDebug()<<"line_number="<<line_number;

    y=0;
    buffer.clear();
    for(buf=0;buf<=line_number ;buf++){
    buffer=stream.readLine(line_number);
    }
 
    y=buffer.toInt();
    points << QPointF( x, y); // заполнение
    qDebug()<<"x="<<x<<"/y="<<y;
    qDebug()<<"buffer="<<buffer;
    x++;
    line_number++;

    mFile.flush();
    mFile.close();
    //-------------------------------------------------------------------------------------------------------
    curve->setSamples( points );
    curve->attach( ui->wgtBoss );
}
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #1 : Март 08, 2014, 02:29 »

вызвать у объекта curve метод, который перемещает график
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
QPeter
Гость
« Ответ #2 : Март 08, 2014, 03:34 »

А уточнить метод можете? А то что то не гуглится(
Записан
sa_mel
Гость
« Ответ #3 : Март 08, 2014, 07:46 »

Можно использавать метод

Код
C++ (Qt)
void QwtPlot::setAxisScale(int axisId,double min,double max,double step=0);
 

а после него

Код
C++ (Qt)
void QwtPlot::replot();
 

Подробности в документации Qwt (файл doc/html/class_qwt_plot.html).

Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #4 : Март 08, 2014, 10:51 »

А уточнить метод можете? А то что то не гуглится(

ты так говоришь, будто по огрызку кода можно догадаться что это за объект. хоть бы написал, что используется библиотека QwtPlot.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.08 секунд. Запросов: 22.