Я хочу создать график внутри вложенного boxsizer (hbox в vbox), чтобы я мог использовать график внутри моей панели (не так, как matplotlib, который, кажется, использует свою собственную панель). если я пытаюсь запустить свой код, он просто не показывает / рисует холст.
Я попытался поместить график в vboxMain, и он работает, как только я помещаю холст в hbox, он не работает.
import wx
from wx.lib.plot import PolyLine, PlotCanvas, PlotGraphics
def drawBarGraph():
points=[(1,0), (3,10)]
line = PolyLine(points)
return PlotGraphics([line])
class MyFrame(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self, parent, title = title, size = (400,400))
self.panel = wx.Panel(self)
#building layout
self.vboxMain = wx.BoxSizer(wx.VERTICAL)
hboxContent = wx.BoxSizer(wx.HORIZONTAL)
#canvas
canvas = PlotCanvas(self.panel)
canvas.Draw(drawBarGraph())
#add everything together
hboxContent.Add(canvas,1, wx.EXPAND)
self.vboxMain.Add(hboxContent)
self.panel.SetSizer(self.vboxMain)
self.panel.Layout()
self.Show(True)
app = wx.App(False)
frame = MyFrame(None, 'TestApp')
app.MainLoop()
Я хочу показать холст в моем hbox