crossplatform.ru

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

> Определение точных координат на графике в контекстном меню, как реализовать корректно?
AD
  опции профиля:
сообщение 15.7.2009, 15:11
Сообщение #1


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


[attachment=708:graphics...rdinates.JPG]

Проблема в том, что координаты на осях и координаты в контекстном меню не совпадают. Как получить точные координаты от графика?

Вот так реализовано меню:
{
// ......................................................
private:
        void viewCoordinateCtx(QPointF* coord);
    void createContextMenu(QPointF* coord);
protected:
    virtual void contextMenuEvent(QContextMenuEvent* events);
// ......................................................
};

/// Отображение координат в данной точке
void GraphicDisplay::viewCoordinateCtx(QPointF* coord)
{
    QString strX = (language_flag) ? "Value along axis X:\t" : "Значение вдоль оси X:\t";
    QString strY = (language_flag) ? "Value along axis Y:\t" : "Значение вдоль оси Y:\t";
    strX += QString::number(coord -> x(), 'f', 3);  strY += QString::number(coord -> y(), 'f', 3);

    contextMenu -> addAction(strX);
    contextMenu -> addAction(strY);

    /// .....
}

/// Создание контекстного меню
void GraphicDisplay::createContextMenu(QPointF* coord)
{
    if(!contextMenu -> actions().isEmpty()) contextMenu -> clear();
    viewCoordinateCtx(coord);
}

/// Отображение контекстного меню
void GraphicDisplay::contextMenuEvent(QContextMenuEvent* events)
{
    QPointF coordinate = initXY(&events -> pos());
    createContextMenu(&coordinate);

    contextMenu -> exec(events -> globalPos());
}


Есть мысли, где возможна ошибка?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
mozgofil
  опции профиля:
сообщение 15.7.2009, 17:07
Сообщение #2


Студент
*

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

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




Репутация:   0  


- извращение(imho)
стандартный подход: при перемещении мыши (MouseMove) выводить координаты графика
в статус-баре или в углу Вида.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- AD   Определение точных координат на графике в контекстном меню   15.7.2009, 15:11
- - Litkevich Yuriy   А помоему, вполне совпадают ±погрешность установки...   15.7.2009, 15:35
|- - AD   Цитата(Litkevich Yuriy @ 15.7.2009, 16:35...   15.7.2009, 15:38
- - Litkevich Yuriy   Цитата(AD @ 15.7.2009, 19:38) Есть ли воз...   15.7.2009, 16:16
|- - AD   Цитатавообще кликать мышкой в график это засада. ...   15.7.2009, 16:31
- - mozgofil   - извращение(imho) стандартный подход: при перемещ...   15.7.2009, 17:07
|- - AD   Цитата- извращение(imho) стандартный подход: при п...   15.7.2009, 17:15
|- - mozgofil   Цитата(AD @ 15.7.2009, 18:15) Цитата- изв...   15.7.2009, 17:28
- - Litkevich Yuriy   Цитата(mozgofil @ 15.7.2009, 21:07) при п...   15.7.2009, 17:30
|- - mozgofil   Цитата(Litkevich Yuriy @ 15.7.2009, 18:30...   15.7.2009, 17:40
- - Litkevich Yuriy   Цитата(mozgofil @ 15.7.2009, 21:40) А что...   15.7.2009, 18:12
|- - AD   Ааа. Ну я сейчас работаю как раз над созданием виз...   15.7.2009, 18:34
|- - mozgofil   Цитата(Litkevich Yuriy @ 15.7.2009, 19:12...   15.7.2009, 21:22
- - Litkevich Yuriy   Цитата(AD @ 15.7.2009, 22:15) (viewfinder...   15.7.2009, 18:37
|- - AD   Цитата(Litkevich Yuriy @ 15.7.2009, 19:37...   15.7.2009, 21:09
- - Litkevich Yuriy   Цитата(AD @ 16.7.2009, 1:09) Вообще-то, э...   15.7.2009, 21:16
|- - AD   Цитата(Litkevich Yuriy @ 15.7.2009, 22:16...   15.7.2009, 21:34
|- - AD   Юра, есть идеи как получить наиболее точные коорди...   16.7.2009, 10:45
- - Litkevich Yuriy   Цитата(mozgofil @ 16.7.2009, 1:22) Очень ...   15.7.2009, 21:25
- - Litkevich Yuriy   AD, сделай курсор графика там всё и увидишь.   16.7.2009, 17:46
|- - AD   Цитата(Litkevich Yuriy @ 16.7.2009, 18:46...   17.7.2009, 14:13
|- - AD   А есть какие-нибудь примеры с курсором графика? Я ...   20.7.2009, 12:51
- - BRE   У нас есть виджет на котором рисуется график. Его ...   21.7.2009, 13:37
- - AD   Цитата(BRE @ 21.7.2009, 14:37) У нас есть...   21.7.2009, 14:18
- - BRE   Цитата(AD @ 21.7.2009, 15:18) Все дело в ...   21.7.2009, 14:59
- - AD   Цитата(BRE @ 21.7.2009, 15:59) P.S. Покаж...   21.7.2009, 15:11
- - BRE   Цитата(AD @ 21.7.2009, 16:11) Без проблем...   21.7.2009, 15:33
- - AD   double spanX() const { return maxX - minX;...   21.7.2009, 17:31
- - AD   Ну... алгоритм ведь тот же. Единицу ток не вычитае...   21.7.2009, 18:09
- - BRE   Цитата(AD @ 21.7.2009, 19:09) Ну... алгор...   21.7.2009, 18:19
- - AD   Цитата(BRE @ 21.7.2009, 19:19) Координаты...   21.7.2009, 18:36
- - BRE   Цитата(AD @ 21.7.2009, 19:36) координаты ...   21.7.2009, 18:54
- - AD   Цитата(BRE @ 21.7.2009, 19:54) Почему так...   21.7.2009, 21:25
- - BRE   Цитата(AD @ 21.7.2009, 22:25) А вот с коо...   21.7.2009, 21:59
- - AD   Цитата(BRE @ 21.7.2009, 22:59) Так вариан...   22.7.2009, 15:32
- - AD   Описание проблемы перемещения визира находится зде...   22.7.2009, 16:44


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


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




RSS Текстовая версия Сейчас: 28.4.2024, 5:26