Python GTK ScrolledWindow Height问题

时间:2018-12-06 07:43:30

标签: python gtk3 pygtk

我正在使用林间空地生成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的高度是固定的而不是扩大。我希望它覆盖整个窗口。滚动窗口呈现如下:

Scrolled Window

如何扩展ScrolledWindow组件的高度,以便覆盖底部的空白。

Link到完整的林间空布局文件。

1 个答案:

答案 0 :(得分:0)

我通过在true文件的ScrolledWindow对象中将以下属性设置为layout.glade来解决此问题。

<property name="vexpand">True</property>