Gtk Window с двумя боковыми панелями - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь реализовать окно с двумя боковыми панелями с изменяемым размером и областью между ними в GTK3.Примерами того, чего я пытаюсь достичь, являются RawTherapee и Glade.

Размещение двух GtkPaned в GtkWindow не работает.

Любые указатели / советы о том, как добиться такой компоновки, приветствуются!Не имеет значения, написан ли код на C, C ++ или Python, если я вижу эту концепцию.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Вот минимальный пример, как я это решил.

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk


window = Gtk.Window(title="Two side panels")
box = Gtk.VBox()
paned1 = Gtk.Paned()
paned2 = Gtk.Paned()
button1 = Gtk.Button(label="Button1")
button2 = Gtk.Button(label="Button2")
button3 = Gtk.Button(label="Button3")
paned1.add1(button1)
paned1.add2(paned2)
paned2.add1(button2)
paned2.add2(button3)
box.pack_start(paned1, True, True, 0)
box.pack_start(paned2, True, True, 0)

window.add(box)
window.show_all()
window.connect("destroy", Gtk.main_quit)
Gtk.main()
0 голосов
/ 05 апреля 2019

Вы упомянули Поляну. Глядя на исходный код (https://github.com/GNOME/glade/blob/master/src/glade.glade), кажется, что они используют два вложенных GtkPaned's

...