2015-03-30 2 views
0

Может ли кто-нибудь показать простой пример с базовыми функциями встраивания matplotlib в PyQt5?пример внедрения matplotlib в PyQt5

Существует пример PyQt4 в официальном docs. PyQt4 скоро будет outdated:

Digia объявили, что поддержка Qt v4 прекратится в конце 2015 года PyQt5 и Qt v5 настоятельно рекомендуется для всех новых разработок.

Это может быть любой общий пример, скажем, Qt5 QMainWindow/QWidget + matplotlib line plot.

+1

Переполнение стека не является учебным сайтом. Это касается конкретных вопросов о конкретных фрагментах кода, а не «кто-то бесплатно напишет мне какой-нибудь код для следующих спецификаций. *» – MattDMo

+0

Это в основном то же самое в Qt5: 'curl -L http: // matplotlib. org/examples/user_interfaces/embedding_in_qt4.py | sed -r 's @ qt4_compat @ qt_compat @ g; s @ ([Qq] t) 4 @ \ 15 @ g; s @ QtGui @ QtWidgets @ g' | python' – Cilyan

+1

@MattDMo Во-первых, я не хочу, чтобы кто-то написал код для меня, я пишу код только сам. Я попросил простой, короткий, общий пример, на котором я могу основывать свой код. Во-вторых, скажите, что человек хочет сделать график matplotlib в PyQt5 и не находит никакого доступного примера в официальных документах. Разве вы не думаете, что было бы хорошо, если бы на этом сайте был такой пример для любого заинтересованного? Кстати, я читаю и использую этот сайт как учебник для многих тем программирования. Как вы думаете, я должен прекратить это делать? – Bad

ответ

3

то, что вы могли бы найти, можно найти здесь: embedded matplotlib in PyQt. Это блог одного из разработчиков matplotlib. Это написано для PyQt4, но оказалось, что нужно просто изменить все PyQt4's на 5 и заменить QtGui на QtWidtgets. Я поговорил с Райаном и прислал ему обновленный код. Он был рад видеть, что есть люди, которые знают его усилия и будут обновлять его tutorial.

Поскольку у меня была такая же проблема и я искал некоторые решения, чтобы начать, я нашел zedcode PyQt5 Introductory Tutorial, который не охватывает matplotlib, но может быть объединен и помогает понять.

Наконец, позвольте мне сказать что-то aobut, что нужно сделать, чтобы получить графики matplotlib в Gui. Охотник Райана указывает, что нужно построить нормальный QWidget, который будет содержать canvas. Вы можете сделать это с помощью Qt Creator. часть, где графический интерфейс и Matplotlib соединения является следующим:

def addmpl(self, fig): 
    self.canvas = FigureCanvas(fig) 
    self.mplvl.addWidget(self.canvas) 
    self.canvas.draw() 

mplvl просто пустой QWidget который получает FigureCanvas и показано впоследствии. Для моего собственного приложения я хотел показать 3D-сюжет, но есть некоторые проблемы с отбрасыванием поддержки мыши, поэтому могут остаться некоторые проблемы. Все 2D-графики оказались полностью функциональными.

Попробуйте.

Christian

Смежные вопросы