【问题标题】:Gtk.ScrolledWindow without horizontal scroll barGtk.ScrolledWindow 没有水平滚动条
【发布时间】:2013-03-25 14:56:43
【问题描述】:

使用 Python 和 Gtk3,我创建了一个 Gtk.TreeView 并将其放入 Gtk.ScrolledWindow 中。我不喜欢水平滚动条,所以我使用Gtk.PolicyType.NEVER 删除了它,但现在我无法在那个方向调整窗口大小。

所以问题是:我怎样才能在水平滚动条的同时能够水平调整窗口大小?

感谢任何帮助!

Obs:这就是我创建 ScrolledWindow 的方式:

    self.scrolledwindow = Gtk.ScrolledWindow()
    self.scrolledwindow.set_policy(Gtk.PolicyType.NEVER,
                                   Gtk.PolicyType.AUTOMATIC)
    self.add(self.scrolledwindow)

【问题讨论】:

  • 显示一些代码。听起来好像您没有设置滚动窗口的策略或其他什么。
  • 正如我在问题中所说,我使用Gtk.PolicyType.NEVER 作为水平滚动条。
  • 你的意思是窗口不能水平调整大小根本,或者它不能(例如)比某些宽度更窄是 GtkTreeView 的首选宽度吗?
  • 它不能比某个宽度更窄。实际上,ScrolledWindow 始终具有 GtkTreeView 中较宽行的宽度。抱歉,如果我以错误的方式描述了我的问题,非常感谢@unwind 的帮助。
  • 建议您将解决方案写成答案并接受。这样,其他用户就会知道这个问题有一个有效的答案。

标签: python gtk3 pygobject scrolledwindow


【解决方案1】:

解决方案:

问题是窗口不能比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 具有最小大小,并且可以在打开窗口后重新调整大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 2019-07-09
    相关资源
    最近更新 更多