我试图为GtkTreeView设置一个高度限制,如果行数据超过这个限制,我想使用滚动条。目前,整个窗口无限制地增长,并在某个时候离开屏幕。需要什么来获得想要的行为?
我的Python代码(只需在每次单击按钮时将新行添加到列表存储):
#!/usr/bin/env python3
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class MyApp:
def on_window1_destroy(self, obj, data=None):
Gtk.main_quit()
def button1_clicked(self, object):
liststore = self.builder.get_object("liststore1")
print(self.window.get_default_size())
liststore.append(("test",))
def __init__(self):
self.builder = Gtk.Builder()
self.builder.add_from_file("table_test.glade")
self.builder.connect_signals(self)
self.window = self.builder.get_object("window1")
self.window.show()
if __name__ == "__main__":
main = MyApp()
Gtk.main()
相应的Glade文件(test_table.glade
):
您不需要实现这个小部件,它已经存在,它的名称是Gtk.ScrolledWindow。滚动条行为可以是自动的(只在内容超过分配的空间时显示)。在
这可以通过向您通过glade添加的GtkTreeView添加一个父小部件来实现。在
如果不希望按钮与窗口成比例地展开,那么应该将gtk按钮的垂直对齐设置为Start(同样在glade中)。在
下面是添加了Gtk.ScrolledWindow的glade文件:
结果应与此类似:
相关问题 更多 >
编程相关推荐