Python GTK ScrolledWindow Высота вопроса - PullRequest
0 голосов
/ 06 декабря 2018

Я использую glade для создания макета приложения 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, чтобы закрыть пустое пространство внизу.

Ссылка на полный файл макета поляны.

1 Ответ

0 голосов
/ 06 декабря 2018

Я исправил эту проблему, установив для следующего свойства значение true в объекте ScrolledWindow в файле layout.glade.

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

...