我正在使用林间空地生成GTK应用程序布局,并使用python应用程序进行事件处理。我添加了ScrolledWindow组件:
<child>
<object class="GtkScrolledWindow" id="GraphWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
现在,我试图在上述窗口中使用matplotlib绘制图表。
class WeatherForecastApplicationBuilder(Gtk.Builder):
def __init__(self, *args, **kwargs):
Gtk.Builder.__init__(self, *args, **kwargs)
self.add_from_file("layout.glade")
self.window = self.get_object("WeatherForecastWindow")
self.graph_window = self.get_object("GraphWindow")
self._get_widgets_()
self.connect_signals(self)
self.window.show_all()
Gtk.main()
def _draw_chart_(self):
figure = Figure()
subplot = figure.add_subplot(111)
subplot.plot(
[1, 2, 3],
[4, 5, 6],
)
subplot.set(xlabel='Date', ylabel='Temp', title='Temprature Change')
canvas = FigureCanvas(figure)
self.graph_window.add(canvas)
self.window.show_all()
问题是ScrolledWindow的高度是固定的而不是扩大。我希望它覆盖整个窗口。滚动窗口呈现如下:
如何扩展ScrolledWindow组件的高度,以便覆盖底部的空白。
Link到完整的林间空布局文件。
答案 0 :(得分:0)
我通过在true
文件的ScrolledWindow对象中将以下属性设置为layout.glade
来解决此问题。
<property name="vexpand">True</property>