没有水平滚动条的Gtk.ScrolledWindow
我用Python和Gtk3创建了一个Gtk.TreeView
,并把它放在一个Gtk.ScrolledWindow
里。我不喜欢水平滚动条,所以我用Gtk.PolicyType.NEVER
把它去掉了,但现在我就不能在水平方向上调整窗口大小了。
所以我的问题是:怎么才能去掉水平滚动条,同时又能在水平方向上调整窗口的大小呢?
任何帮助都很感谢!
备注:这是我创建ScrolledWindow的方式:
self.scrolledwindow = Gtk.ScrolledWindow()
self.scrolledwindow.set_policy(Gtk.PolicyType.NEVER,
Gtk.PolicyType.AUTOMATIC)
self.add(self.scrolledwindow)
1 个回答
4
解决方案:
问题在于,窗口的宽度不能比Gtk.TreeView
中最宽的行还要窄,而且我还希望我的窗口没有水平滚动条。最后解决我问题的代码是:
self.scrolledwindow = Gtk.ScrolledWindow()
self.scrolledwindow.set_policy(Gtk.PolicyType.NEVER,
Gtk.PolicyType.AUTOMATIC)
...
renderer_text = Gtk.CellRendererText(weight=600)
renderer_text.set_fixed_size(200, -1)
column_text = Gtk.TreeViewColumn('Name', renderer_text, text=1)
这样一来,Gtk.CellRendererText
就有了最小的大小,并且在窗口打开后可以调整大小。