Название: Как реализовать систему координат? Отправлено: n4ela от Февраль 20, 2009, 17:38 Здравствуйте. Встала задача реализивать систему координат. Что бы была ось х и ось у, обе положительные, и что бы пользователь кликая мышкой мог проставлять точки на этой системе. Есть в QT что нибудь подобное и в какую сторону копать? Мне в голову кроме как сделать дофига маленьких кнопок (типа точки) не чего больше не приходит.
Название: Re: Как реализовать систему координат? Отправлено: lit-uriy от Февраль 20, 2009, 17:41 см. Qwt (http://qwt.sourceforge.net/index.html)
Название: Re: Как реализовать систему координат? Отправлено: break от Февраль 20, 2009, 17:46 KPlotWidget еще есть (сам им не пользовался но вам должно подойти)
В Qwt некоторые вещи настолько неочивидно делаются что приходиться всегда перед глазами исходники держать (документация к сожалению представляет собой лишь заголовки функций и описание параметров - оч. плохая) Мне потребовалось с помощью QwlScaleWidget ось координат нарисовать - 2 часа возился непонимая почему не работает... Название: Re: Как реализовать систему координат? Отправлено: AAXEE от Февраль 20, 2009, 21:50 А еще можно QPainterом рисовать. По-моему это самый логичный вариант.
Название: Re: Как реализовать систему координат? Отправлено: SABROG от Февраль 20, 2009, 23:17 А еще можно QPainterом рисовать. По-моему это самый логичный вариант. Ну в принципе ничто не мешает нарисовать картинку с осями на форму, а по клику мышки рисовать на эту картинку нужные точечки и перерисовывать с точечками. Обычно проблемы начинаются позже, когда начинает хотеться большего...Название: Re: Как реализовать систему координат? Отправлено: n4ela от Февраль 20, 2009, 23:28 А еще можно QPainterом рисовать. По-моему это самый логичный вариант. На самом деле очень слабо представляю как это будет выглядить. Погуглил на эту тему нашел как рисовать из программы, и как можно реализовать рисование мышкой, но не понял, как сделать нажатие, т.е вот скажем надо взять и поставить точку в координату 1,1, но если делать просто рисование тогда пользователь может хоть рисунок на все окно программы нарисовать(получается паинт какой то). И как мне ловить координаты точек, я могу отследить координату в каком пикселе экрана было сделано нажатие мышки, но это же мне не поможет.Я вот думаю может можно сделать это как то с QTableWidget, ловить нажатие в определенной ячейки, перекрашивать ее в другой цвет и поидеи адрес ячейки это и будет координата. Но я не уверен что это вобще возможно. Кстасти в таблице есть св-во что бы номер строки отображался справа от таблице, а есть ли то же самое только что бы количествно столбцов отображалось снизу таблицы, а не сверху. Название: Re: Как реализовать систему координат? Отправлено: n4ela от Февраль 20, 2009, 23:29 А еще можно QPainterом рисовать. По-моему это самый логичный вариант. Ну в принципе ничто не мешает нарисовать картинку с осями на форму, а по клику мышки рисовать на эту картинку нужные точечки и перерисовывать с точечками. Обычно проблемы начинаются позже, когда начинает хотеться большего...Название: Re: Как реализовать систему координат? Отправлено: SABROG от Февраль 21, 2009, 00:24 Идею понял, а как тогда ловить значение координаты? Ты хочешь сделать двухстороннюю связь? Ты кликаешь на форму, чтобы поставить точку и хочешься делая запрос скажем getXY(10, 20) получать ответ есть или нет что-то там?Название: Re: Как реализовать систему координат? Отправлено: n4ela от Февраль 21, 2009, 00:42 Не совсем, проверять есть что то там или нет мне не надо. Вот когда я ставлю точку, мне надо знать куда я ее поставил, и не по отношению к монитору, а по отношению к моей системе координат. Вот примерно так должно выглядить (http://pic.ipicture.ru/uploads/090221/vFpXISWYG1.jpg)
Название: Re: Как реализовать систему координат? Отправлено: AAXEE от Февраль 21, 2009, 20:55 Ну если координаты целочисленные, то я бы внутри виджета сист.координат имел матрицу или список отмеченных координат.
А как ставить точку: где-то на форуме было - найти не могу. Но вот код: Код: #include <QApplication> А с другой стороны код очень простой. Потом просто преобразуешь систему координат. Название: Re: Как реализовать систему координат? Отправлено: n4ela от Февраль 22, 2009, 15:28 Спасибо большое. Вроде разобрался.
|