Форум сайта python.su
Добрый день.
Начинаю свое знакомство с Питоном.
Необходимо с использованием Qt дизайнера создать интерфейс, на котором размещаются несколько графиков.
Я в дизайнере использовал QMainWindow. На нем расположил PlotWidget.
Сохранил и конвертировал в py-файл.
Оболочка должна быть отвязана от кода, поэтому создал main.py файл.
Но вижу, что не могу задавать подписи по осям и заголовок графиков.
Функции setlabel вообще нет. Есть лишь setrange.
Помогите, пожалуйста, разобраться.
Может, не хватает каких-то библиотек, или PlotWidget вообще для этого не пригоден.
Может, нужно использовать просто Widget?
Как в этом случае должен выглядеть мой main.py файл?
Для компиляции использую PyCharm под виндой.
Импортирую
from pyqtgraph import PlotWidget
но вижу, что она никак не используется.
Это мой первый опыт с питоном, поэтому требуется соответствующее объяснение.
Спасибо.
Не получается прикрепить два файла к сообщению. Поэтому положил их коды в один файл.
Прикреплённый файлы:
Example_test.py (3,3 KБ)
Офлайн
Вижу, что ответов нет, поэтому попытаюсь упростить задачу.
Догадываюсь, что pyqtgraph в принципе на поддерживает подписи осей.
Нашел такое решение.
Добавляю в Qt designer Horizontal Layout.
Затем делаю следующее:
import pyqtgraph as pg
pg.setConfigOptions (antialias = True)
win = pg.GraphicsLayoutWidget ()
self.horizontalLayout_Orbit.addWidget(win)
Этот метод работает, но график добавляется одновременно в две ячейки горизонтального Лэйаута.
Как добавлять его только в один?
И вообще хотелось бы не использовать Horizontal Layout, а использовать Frame или Widget.
Но для них я не могу использовать .addWidget(win). Есть опция addAction(), но выдается сообщение об ошибке, что с помощью нее я не могу добавлять элементы класса GraphicsLayoutWidget.
Замкнутый круг.
Одноячеячного Лэйаута нет, а во Фрайм и Виджет не добавляется.
Как правильно прописать?
Спасибо.
Офлайн
LLenichДумаю ответов нет так как вы задали слишком жесткие ограничения.
Вижу, что ответов нет, поэтому попытаюсь упростить задачу.
LLenichВ питоне графики практически всегда делают при помощи matplotlib или его аналогов. Его в Qt канву можно добавить. Только как это делать ИСКЛЮЧИТЕЛЬНО дизайнером похоже никто не знает.
Необходимо с использованием Qt дизайнера
Отредактировано doza_and (Фев. 6, 2022 19:10:05)
Офлайн
doza_andНо, это же есть часть решения! Спасибо.
В питоне графики практически всегда делают при помощи matplotlib или его аналогов. Его в Qt канву можно добавить.
Офлайн
LLenichhttps://matplotlib.org/3.1.0/gallery/pyplots/fig_axes_labels_simple.html
Осталось узнать, как создать график при помощи matplotlib
LLenichhttps://matplotlib.org/stable/gallery/user_interfaces/embedding_in_qt_sgskip.html
и добавить его в Widget.
Офлайн
> И вообще хотелось бы не использовать Horizontal Layout, а использовать Frame или Widget.
import pyqtgraph as pg hl1 = QtGui.QHBoxLayout(self.grafik1) hl1.setSpacing(0) hl1.setContentsMargins(0, 0, 0, 0) self.PW1 = pg.PlotWidget() self.PW1.setBackground("#fff") hl1.addWidget(self.PW1)
Офлайн
Спасибо за советы.
Буду пробовать.
Офлайн