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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: рисование графиков  (Прочитано 9869 раз)
StatuS74
Гость
« : Июль 11, 2011, 12:24 »

Вопрос в следующем. нужно нарисовать графики. но условие что бы их потом можно было сохранить типо в программе кнопка сохранить график и он сохраняет в формуете JPG. не знаю с чего начать ибо с графикой ни когда не работал.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #1 : Июль 11, 2011, 13:05 »

Есть куча уже готовых решений, например lightplot2d
http://www.prog.org.ru/topic_10208_90.html
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
StatuS74
Гость
« Ответ #2 : Июль 11, 2011, 13:13 »

меня интересует на чем создавать например на графиквьювер или ещё на чем
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #3 : Июль 11, 2011, 13:18 »

меня интересует на чем создавать например на графиквьювер или ещё на чем
Наверное, разумнее использовать QGraphicsView/Scene.   
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
StatuS74
Гость
« Ответ #4 : Июль 12, 2011, 05:57 »

не совсем понял как связать graphicsView c QPainter что бы начать рисовать. Извиняюсь мб вопрос тупой.просто я с графикой ни когда не работал.а тут вот пришлось =)
Записан
StatuS74
Гость
« Ответ #5 : Июль 12, 2011, 11:17 »

не поверю что ни кто не знает...
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #6 : Июль 12, 2011, 12:06 »

Вообще, всё зависит от мотива.
1) Если цель описанной задачи (строить, сохранять, отображать графики) познать всё это на своей шкуре, то придётся также самому учиться искать ответы на подобные вопросы
Цитировать
не совсем понял как связать graphicsView c QPainter что бы начать рисовать. Извиняюсь мб вопрос тупой.просто я с графикой ни когда не работал.а тут вот пришлось =)

2) Если цель просто сделать и забыть, то лучше использывать готовые решения. Сэкономите кучу времени и нервов)

Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
StatuS74
Гость
« Ответ #7 : Июль 13, 2011, 05:59 »

начал изучать графику и столкнулся с такой проблемой код на мой взгляд правильный а ни чего не рисует

Код:
 QGraphicsView *graphicsView = new QGraphicsView(this);
 QGraphicsScene * scene = new QGraphicsScene;
 graphicsView->setScene(scene);
scene->addRect(0,0,100,100,QPen(Qt::red,3,Qt::DashDotDotLine));

Записан
StatuS74
Гость
« Ответ #8 : Июль 13, 2011, 12:36 »

исправил на вот этот но все равно не отображает =((
Код:
  QGraphicsView *graphicsView = new QGraphicsView(this);
     QGraphicsScene * scene = new QGraphicsScene;
     QBrush brash = QBrush(Qt::lightGray,Qt::SolidPattern);
     QPen pen = QPen(Qt::black, 1, Qt::SolidLine, Qt::FlatCap, Qt::RoundJoin);
     graphicsView->setScene(scene);
     scene->addRect(0,0,100,100,pen,brash);
Записан
StatuS74
Гость
« Ответ #9 : Июль 15, 2011, 08:29 »

появился суть вопроса в следующем...
scene->addText(QString::number(ti));
ti - это температура по оси Х
 но я не пойму как тут добавить координаты расположения текста и цвет текста
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #10 : Июль 15, 2011, 10:52 »

появился суть вопроса в следующем...
scene->addText(QString::number(ti));
ti - это температура по оси Х
 но я не пойму как тут добавить координаты расположения текста и цвет текста
Код
C++ (Qt)
QGraphicsTextItem * QGraphicsScene::addText ( const QString & text, const QFont & font = QFont() )
void QGraphicsItem::setPos ( const QPointF & pos )
void QGraphicsTextItem::setDefaultTextColor ( const QColor & col )
« Последнее редактирование: Июль 15, 2011, 10:54 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
StatuS74
Гость
« Ответ #11 : Июль 15, 2011, 11:27 »

Код:
scene->addText(QString::number(ti),serifFont);
          QGraphicsItem::setPos (100,100);
          QGraphicsTextItem::setDefaultTextColor (Qt::gray );

не хочет компилировать
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #12 : Июль 15, 2011, 11:31 »

Не тупи.
Код
C++ (Qt)
scene->addText(QString::number(ti),serifFont);
scene->setPos (100,100);
scene->setDefaultTextColor (Qt::gray );
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
StatuS74
Гость
« Ответ #13 : Июль 15, 2011, 11:35 »

это не верно там нет таких функций =)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #14 : Июль 15, 2011, 11:36 »

Блин, ну поищи в ассистенте как получить от сцены QGraphicsItem и для него это сделай.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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