我正在尝试在 GTK3 中实现一个带有两个可调整大小的侧面板和一个介于两者之间的区域的窗口。我想要实现的例子是 RawTherapee 和 Glade。
将两个 GtkPaned 放在 GtkWindow 中不起作用。
任何关于如何实现这种布局的指针/提示都非常受欢迎!代码是 C、C++ 还是 Python 没关系,只要我能看懂概念即可。
Here is a minimal example how I solved it.
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()
你提到了格莱德。查看源代码(https://github.com/GNOME/glade/blob/master/src/glade.glade)看起来他们确实使用了两个嵌套的 GtkPaned