#c #qt #qchart
#c #qt #qchart
Вопрос:
Я следил за документацией qt https://doc-snapshots.qt.io/qt5-5.11/qtcharts-legend-example.html чтобы отсоединить условные обозначения от диаграммы и задать размеры отсоединенных условных обозначений
legend->detachFromChart();
m_chart->legend()->setBackgroundVisible(true);
m_chart->legend()->setBrush(QBrush(QColor(128, 128, 128, 128)));
m_chart->legend()->setPen(QPen(QColor(192, 192, 192, 192)));
m_chart->legend()->setGeometry(QRectF(80, 50, 100, 180));
m_chart-> legend()->setGeometry(QRectF(80, 50, 100, 180)) не работает.
первые два аргумента работают. Позиция легенды равна (80, 50). Однако последние два аргумента не работают. Ширина легенды не равна 100, а высота легенды не равна 180.
Ответ №1:
Вы должны вызвать update()
функцию QLegend
после установки геометрии:
m_chart->legend()->update();
Комментарии:
1. я добавил m_chart-> legend()-> update(), но ширина и высота легенды не изменились
Ответ №2:
Обновите легенду после настройки геометрии легенды. m_chart-> legend()->update().
Важное примечание: установите геометрию легенды после добавления lineseries . это сработало для меня. Когда мы устанавливаем свойства legend amp; chart перед добавлением lineseries , это не сработает. Даже в некоторых случаях это приводит к сбою приложения.