用tkinter做一个浏览器
时间: 2023-10-12 11:17:25 浏览: 197
好,以下是一个简单的基于tkinter的浏览器示例代码:
```python
import tkinter as tk
import tkinter.scrolledtext as scrolledtext
import urllib.request
from urllib.parse import urlparse
class Browser:
def __init__(self, root):
self.root = root
self.root.title("Browser")
# 创建网址输入框和按钮
self.url_entry = tk.Entry(self.root, width=50)
self.url_entry.pack(side='left')
self.url_entry.bind("<Return>", self.load_url)
self.go_button = tk.Button(self.root, text="Go", command=self.load_url)
self.go_button.pack(side='left')
# 创建滚动文本框
self.text = scrolledtext.ScrolledText(self.root, wrap='word')
self.text.pack(fill='both', expand=True)
def load_url(self, event=None):
url = self.url_entry.get()
parsed_url = urlparse(url)
if not parsed_url.scheme:
url = 'http://' + url
# 发送请求
try:
with urllib.request.urlopen(url) as response:
html = response.read()
self.text.delete('1.0', 'end')
self.text.insert('end', html)
except Exception as e:
self.text.delete('1.0', 'end')
self.text.insert('end', str(e))
if __name__ == '__main__':
root = tk.Tk()
browser = Browser(root)
root.mainloop()
```
这个浏览器可以解析用户输入的网址,发送请求,并将响应显示在文本框中。用户可以通过输入网址并单击“Go”按钮或按Enter键来加载网页。注意这个浏览器只是一个示例,它可能无法处理所有类型的网页和所有可能出现的异常情况,需要进一步完善。
阅读全文