Python + Gtk + WebKit:页面更改后不重置滚动条高度

问题描述 投票:0回答:1

页面更改为较小高度后,以下代码不会重置垂直滚动条。

它是可重复的:

  1. 执行脚本 1.1 Google.com全屏加载 1.2垂直滚动条:初始高度
  2. 搜索一些东西 2.1页面将会改变 2.2垂直滚动条增加
  3. 点击Google徽标(左上角) 3.1该页面将更改回Google.com 3.2垂直滚动条保持步骤2的高度,而不是重置为步骤1

我想必须有一个我不知道的设置。

任何的想法?谢谢!

import gi

gi.require_version('Gtk', '3.0')
gi.require_version('WebKit', '3.0')
from gi.repository import Gtk, WebKit, GLib, Gdk

if __name__ == '__main__':
    URL = 'http://google.com'

    browser = WebKit.WebView()
    browser.load_uri(URL)

    win = Gtk.Window()
    swin = Gtk.ScrolledWindow()
    swin.add_with_viewport(browser)
    swin.set_hexpand(True)
    swin.set_vexpand(True)
    swin.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
    win.add(swin)
    win.fullscreen()
    win.show_all()
    Gtk.main()
python python-3.x webview gtk webkit
1个回答
1
投票

问题:WebKit:页面更改后滚动条高度未重置

运用

swin.add_with_viewport(browser)

对于大多数支持本机滚动的小部件而言,这将是非常错误的

swin.add(browser)

From the Documentation: Gtk 3.0 » Classes

Gtk.ScrolledWindow.add_with_viewport(child)

从版本3.8开始不推荐使用:如果孩子没有实施Gtk.Container.add()Gtk.Viewport将自动添加Gtk.Scrollable

© www.soinside.com 2019 - 2024. All rights reserved.