Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Qqqqqq от Январь 31, 2016, 17:15



Название: Как подписать значения на QCustomPlot
Отправлено: Qqqqqq от Январь 31, 2016, 17:15
Здравствуйте !

Подскажите, пожалуйста, как на QCustomPlot подписать каждую точку на графике, чтобы получилось так:

(http://slon.ru/images2/infografica/grafiki/medianwages.png)


Название: Re: Как подписать значения на QCustomPlot
Отправлено: Racheengel от Январь 31, 2016, 23:54
В qsint charts это возможно точно: https://sourceforge.net/projects/qsint/


Название: Re: Как подписать значения на QCustomPlot
Отправлено: popper от Февраль 03, 2016, 10:43
Вроде бы, напрямую подписи точек в QCustomPlot установить нельзя.
Попробуй через
Код
C++ (Qt)
void QCPScatterStyle::setCustomPath ( const QPainterPath &  customPath)
 


Название: Re: Как подписать значения на QCustomPlot
Отправлено: VPS от Февраль 03, 2016, 14:42
Можно создать подкласс, класса QCPGraph с переопределённым методом
Код
C++ (Qt)
void drawScatterPlot(QCPPainter *painter, QVector<QCPData> *scatterData) const;
, в котором наряду с точками рисовать нужный текст.
А далее объект этого подкласса добавить на QCustomPlot с помощью
Код
C++ (Qt)
bool QCustomPlot::addPlottable(QCPAbstractPlottable *plottable)

P/S: пример во вложении


Название: Re: Как подписать значения на QCustomPlot
Отправлено: Qqqqqq от Февраль 05, 2016, 13:37
Спасибо !


Название: Re: Как подписать значения на QCustomPlot
Отправлено: since от Июнь 09, 2016, 11:11
Здравствуйте! Не совсем получается разобраться с Вашей программкой. Не могли бы Вы объяснить что за слот "on_actionShowScattersValue_toggled". С каким сигналом его связать? Спасибо!


Название: Re: Как подписать значения на QCustomPlot
Отправлено: gil9red от Июнь 09, 2016, 11:38
Здравствуйте! Не совсем получается разобраться с Вашей программкой. Не могли бы Вы объяснить что за слот "on_actionShowScattersValue_toggled". С каким сигналом его связать? Спасибо!

Слот "on_actionShowScattersValue_toggled" -- т.е. автоподключение сигнала toggled виджета actionShowScattersValue к этому слоту. Не уверен, но вроде бы это когда с формами работаешь, т.е. действие уже прописано в форме. Может и без формы -- при ручном составлении ее такое сработает, благодаря moc


Название: Re: Как подписать значения на QCustomPlot
Отправлено: GreatSnake от Июнь 09, 2016, 11:53
Код
C++ (Qt)
QMetaObject::connectSlotsByName(QObject * object) [static]


Название: Re: Как подписать значения на QCustomPlot
Отправлено: since от Июнь 09, 2016, 14:58
Здравствуйте! Не совсем получается разобраться с Вашей программкой. Не могли бы Вы объяснить что за слот "on_actionShowScattersValue_toggled". С каким сигналом его связать? Спасибо!

Слот "on_actionShowScattersValue_toggled" -- т.е. автоподключение сигнала toggled виджета actionShowScattersValue к этому слоту. Не уверен, но вроде бы это когда с формами работаешь, т.е. действие уже прописано в форме. Может и без формы -- при ручном составлении ее такое сработает, благодаря moc

Что за виджет actionShowScattersValue такой?
То есть коннектом соединять не надо, получается так?


Название: Re: Как подписать значения на QCustomPlot
Отправлено: VPS от Июнь 09, 2016, 16:07
Что за виджет actionShowScattersValue такой?
То есть коннектом соединять не надо, получается так?

Это объект типа QAction, созданный в Qt Designer (вкладка Action Editor).
После того, как действие создано, его можно перетащить на QToolBar, чтобы получилась кнопка.

P/S: since, почитайте, как создавать формы в Qt Designer.