içine gömülü Matplotlib etkileşimli grafiği Çalıştırıldığında, PyQT penceresinde gömülü bir matplotlib grafiğini görüntülemesi gereken basit bir python betiği oluşturdum. Grafiği yerleştirmek ve çalıştırmak için this eğitimini kullandım. Adlandırma kurallarındaki ve genel kullanıcı arayüzündeki bazı farklılıkların yanı sıra, grafiğim de bahsi geçen öğreticide olduğu gibi oluşturulur.PyQt
Sorunum, yakınlaştırma ve sürükleme olanağı sağlayan etkileşimli bir grafik oluşturmak istiyorum ancak bunu yalnızca fare (tıklama ve sürükleme, kaydırma tekerleği vb.) Ile ve araç çubuğu olmadan yapmak istiyorum. çirkin olarak buldum).
Araç Sınıfı:
class MplCanvas(FigureCanvas):
"""
Creates a canvas on which to draw our widgets
"""
def __init__(self):
self.fig = Figure()
self.ax = self.fig.add_subplot(111)
FigureCanvas.__init__(self, self.fig)
FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
class marketdephWidget(QtGui.QWidget):
"""
The market deph graph
"""
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.canvas = MplCanvas()
self.vbl = QtGui.QVBoxLayout()
self.vbl.addWidget(self.canvas)
self.setLayout(self.vbl)
çizdirme fonksiyonu (düğmesine basın üzerinde çalışacak):
# initialize the mplwidgets
def PlotFunc(self):
randomNumbers = random.sample(range(0, 10), 10)
self.ui.widget.canvas.ax.clear()
self.ui.widget.canvas.ax.plot(randomNumbers)
self.ui.widget.canvas.draw()