希望您能够帮助我。 -我是python和gui编程的新手,所以请多多包涵。
我正在尝试使用wxformBuilder创建一个简单的GUI,用户可以在其中选择一个csv文件并将其绘制在另一个面板(right_panel)中。 下图显示了GUI和结构: GUI and Structure
我可以使用下面显示的代码在面板中绘制一些示例数据,但是在调整窗口大小时,我无法将数字缩放到面板上。
import wx
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import \
FigureCanvasWxAgg as FigureCanvas, \
NavigationToolbar2WxAgg as NavigationToolbar
import numpy as np
import gui2
class explorerFrame(gui2.mainFrame):
def __init__(self,parent):
gui2.mainFrame.__init__(self,parent)
self.CreatePlot()
return
def CreatePlot(self):
self.figure = Figure()
self.axes = self.figure.add_subplot(111)
self.axes.grid()
x = np.arange(0, 6, .01)
y = np.sin(x**2)*np.exp(-x)
self.axes.plot(x, y)
self.canvas = FigureCanvas(self.right_panel, -1, self.figure)
return
app = wx.App(False)
frame = explorerFrame(None)
frame.Show(True)
app.MainLoop()
下图说明了缩放问题: Example 1 Example 2
我尝试在面板内添加boxSizer,但是我不确定如何将画布放置在sizer中。任何帮助将不胜感激。
亲切的问候 卡巴斯尔
答案 0 :(得分:0)
大小确定者当然可以胜任。 使用wxGlade,我提供了一些matplotlib示例。
这应该让您开始如何向面板添加上浆器:https://github.com/wxGlade/wxGlade/blob/master/examples/matplotlib/matplotlib_example.py