crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QGraphicScene
greh
  опции профиля:
сообщение 8.4.2010, 18:26
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток. Помогите разораться с этим нехитрым классом. Нужно сделать программу для рисования графиков функций. Для начала подскажите как сделать сетку и оси? (Like that: Пример из доков) Для этого нужно самому рисовать это всё или есть встроенные функции? 2-ой час уже читаю доки найти не могу, хотя и нашёл кучу полезного. По ходу выполнения возможно возникнут ещё вопросы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.4.2010, 18:30
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я думаю, что Графическое представление для графиков функций не лучший выбор. Лучше просто рисовальщиком (QPainter) рисовать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
greh
  опции профиля:
сообщение 8.4.2010, 19:01
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 8.4.2010, 21:30) *
я думаю, что Графическое представление для графиков функций не лучший выбор. Лучше просто рисовальщиком (QPainter) рисовать.

Ну всё же хотелось бы попробовать. Программа всё равно только для универа. К тому же в задании было про пересечение графиков, в описании класса где-то видел про столкновение фигур, хотелось бы узнать как это вообще работает и как этим можно воспользоваться.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 8.4.2010, 19:54
Сообщение #4


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


greh, Попробуй посмотреть это http://www.forum.crossplatform.ru/index.ph...ost&p=20853
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
greh
  опции профиля:
сообщение 8.4.2010, 20:16
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


насколько я вижу по примеру оси, отметки на них и пр. рисовать придётся руками.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 8.4.2010, 20:22
Сообщение #6


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Да, руками. Для этого можно использовать QGraphicsLineItem
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
greh
  опции профиля:
сообщение 10.4.2010, 12:30
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Возникла такая проблема: если линия или любая другая фигура при добавлении не влазит, то появляются скрол бар(ы), но если я очищаю сцену то скрол бары не убиваются, хотя вроде они уже и не требуются. Как правильно "пнуть" GraphicsView чтобы скрол бары убрались и она приняла нормальный размер и вид. Вот исходники, если кто пожелает откомпилировать и посмотреть как это всё выглядит.
Прикрепленные файлы
Прикрепленный файл  IT_Lab3.zip ( 4.42 килобайт ) Кол-во скачиваний: 158
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.4.2010, 13:17
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


greh, в описании класса QGraphicScene явно сказано, что при добавлении на сцену нового элемента размеры сцены автоматически увеличиваются, если это необходимо. Но размеры сцены никогда автоматически не уменьшаются.

Линейки прокрутки появляются на представлении, если вся сцена не умещается в представлении. Таким образом, чтобы убрать, фактически не нужные, линейки прокрутки, нужно изменить: либо масштаб отображения сцены, либо размеры сцены.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
greh
  опции профиля:
сообщение 10.4.2010, 15:23
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 48
Регистрация: 23.11.2009
Пользователь №: 1252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 10.4.2010, 16:17) *
greh, в описании класса QGraphicScene явно сказано, что при добавлении на сцену нового элемента размеры сцены автоматически увеличиваются, если это необходимо. Но размеры сцены никогда автоматически не уменьшаются.

Линейки прокрутки появляются на представлении, если вся сцена не умещается в представлении. Таким образом, чтобы убрать, фактически не нужные, линейки прокрутки, нужно изменить: либо масштаб отображения сцены, либо размеры сцены.


Можно было просто так написать:
View->setSceneRect(x,y,w,h);

Вообщем спасибо, сейчас работает как надо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 1:03