带有两个侧面板的Gtk窗口

时间:2019-04-04 15:02:36

标签: gtk gtk3 pygobject gtkmm3

我试图在GTK3中实现一个带有两个可调整大小的侧面板以及一个介于两者之间的区域的窗口。我尝试实现的示例包括RawTherapee和Glade。

在GtkWindow中放置两个GtkPaned不起作用。

任何有关如何实现这种布局的指针/提示都非常欢迎!只要我能看到这个概念,代码是用C,C ++还是Python都没关系。

2 个答案:

答案 0 :(得分:0)

您已经提到Glade。查看源代码(https://github.com/GNOME/glade/blob/master/src/glade.glade),看来它们确实使用了两个嵌套的GtkPaned的

答案 1 :(得分:0)

这是我如何解决的一个最小示例。

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()