Я видел множество примеров интеграции matplotlib с python2.6 и QT4 Designer с использованием mplwget, и они отлично работают. Теперь мне нужно интегрировать pyplot с QT4 Designer, но не могу найти никаких примеров. Все мои попытки интегрировать графику pyplot закончились сбоем seg. Может кто-нибудь, пожалуйста, направить меня к рабочему примеру с помощью Designer и pyplot?Пример pyplot с QT Designer
Последующие действия: Хорошо, поэтому я попробовал ваше решение, но у меня все еще есть проблемы. К сожалению, машина я использую для этого кода не подключен к Интернету, поэтому ниже толстый палец из соответствующих частей коды я использую:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import MatplotlibWidget # This is the code snippet you gave in your answer
.
.
.
def drawMap(self) :
fig = plt.figure()
map = Basemap(projection='cyl', llcrnrlat = -90.0, urcrnrlat = 90.0, llcrnrlon = -180.0, urcrnrlon = 180.0, resolution = 'c')
map.drawcoastlines()
map.drawcountries()
plt.show()
def drawMap_Qt(self) :
self.ui.PlotWidget.figure = plt.figure() # This is the Qt widget promoted to MatplotlibWidget
map = Basemap(projection='cyl', llcrnrlat = -90.0, urcrnrlat = 90.0, llcrnrlon = -180.0, urcrnrlon = 180.0, resolution = 'c')
map.drawcoastlines()
map.drawcountries()
self.ui.PlotWidget.show()
Функцию drawMap() отлично работает. Он создает отдельное окно и отображает карту. Функция drawMap_Qt() приводит к ошибке сегментации без каких-либо других ошибок. Конечной целью является построение контура поверх карты. Я могу сделать это с помощью функции drawMap(). Конечно, я даже не могу добраться до контурной части с помощью функции drawMap_Qt(). Будем очень благодарны за любые идеи относительно того, почему это происходит.
Спасибо! Я дам это попробовать – mlbrink
Хорошо, поэтому я не мог получить это, чтобы работать - см. Обновление исходного вопроса – mlbrink
См. Мое редактирование выше, и вы не должны вызывать plt.figure(), потому что виджет уже имеет фигура внутри него. – firescape