我设置了一个基本的网络浏览器,并使用 Quickly 和 Python 代码,但如何设置它,以便我的 TextEntry 对象(输入 URL 的位置)在单击网页上的链接时更新。它显示的内容有点奇怪http://www.google.com当我点击 Google 主页上的 YouTube 转到 YouTube 时,条目没有更新。
有人可以帮忙吗?
答案1
假设您使用的是 WebKit。您必须连接到load-status
属性信号以查看是否正在请求新页面,并相应地更改网络。
这是我的一个旧项目中的一些代码。
# Snipped init and stuff...
self._webview = WebKit.WebView()
self._webview.connect('notify::load-status', self.on_load_status)
def on_load_status(self, webview, status):
status = webview.get_load_status()
if status == WebKit.LoadStatus.COMMITTED:
self._set_loading(True)
self._entry.set_text(webview.get_uri())
elif status == WebKit.LoadStatus.FINISHED:
self._set_loading(False)
def _set_loading(self, loading):
self._stop.set_sensitive(loading)
self._reload.set_sensitive(not loading)
self._back.set_sensitive(self._webview.can_go_back())
self._forward.set_sensitive(self._webview.can_go_forward())
此_set_loading()
方法用于启用/禁用工具栏上的停止/重新加载/后退/前进按钮。如果您没有这些按钮,请将其省略(否则,当然可以根据需要更改名称)。