请用Python给我写一个程序,程序要求:1:使用Tkinter图形化操作界面,需要创建桌面应用程序界面,图形化操作界面长为1000,宽为800;2:程序拥有计算器功能,可以计算三角函数,通过点击“=”可得出答案;3:程序拥有查询国内所有省、市、直辖市、自治区、自治州、自治县、区、县、村、特区实时天气的功能,可通过在指定的输入框内输入城市名称来查询,并把查询到的信息通过文字形式呈现在图形化操作界面上;4:程序可通过点击“退出”按钮来退出图形化操作界面;5:程序具有访问网页的功能,可通过在指定输入框内输入网址来实现访问网页;6:程序拥有中英文互译的功能,可通过在指定输入框内输入中文或英文并点击“翻译”按钮来实现翻译功能。
时间: 2023-06-03 11:04:20 浏览: 127
好的,下面是Python代码:
```
import tkinter as tk
from tkinter import ttk
import requests
from bs4 import BeautifulSoup
from googletrans import Translator
import math
translator = Translator()
def calculate():
math_expression = entry_math.get()
result = str(eval(math_expression))
label_math_result.config(text=result)
def search_weather():
city = entry_weather.get()
url = 'http://www.weather.com.cn/weather/{}.shtml'.format(city)
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
weather_tag = soup.find('p', class_='wea')
if weather_tag is None:
label_weather.config(text='未找到城市信息')
else:
weather = weather_tag.string
label_weather.config(text=weather)
def visit_website():
url = entry_website.get()
try:
r = requests.get(url)
response_text = r.text
text_box.delete('1.0', tk.END)
text_box.insert(tk.END, response_text)
except Exception as e:
text_box.delete('1.0', tk.END)
text_box.insert(tk.END, '无法访问该网站')
def translate():
text = entry_translate.get()
lang = ''
if text.isascii():
lang = 'en'
else:
lang = 'zh-cn'
translation = translator.translate(text, dest=lang).text
label_translation.config(text=translation)
def forbidden():
label_math_result.config(text='抱歉,我无法回答这个问题')
label_weather.config(text='抱歉,我无法回答这个问题')
text_box.delete('1.0', tk.END)
label_translation.config(text='抱歉,我无法回答这个问题')
root = tk.Tk()
root.title('PyGUI')
root.geometry('1000x800')
# Math Calculator
label_math = ttk.Label(root, text='请输入数学表达式')
label_math.place(relx=0.1, rely=0.1)
entry_math = ttk.Entry(root)
entry_math.place(relx=0.4, rely=0.1)
button_math = ttk.Button(root, text='=', command=calculate)
button_math.place(relx=0.8, rely=0.1)
label_math_result = ttk.Label(root, text='')
label_math_result.place(relx=0.9, rely=0.1)
# Weather Search
label_weather = ttk.Label(root, text='请输入要查询的城市')
label_weather.place(relx=0.1, rely=0.3)
entry_weather = ttk.Entry(root)
entry_weather.place(relx=0.4, rely=0.3)
button_weather = ttk.Button(root, text='查询', command=search_weather)
button_weather.place(relx=0.8, rely=0.3)
# Web Page Visiting
label_website = ttk.Label(root, text='请输入要访问的网址')
label_website.place(relx=0.1, rely=0.5)
entry_website = ttk.Entry(root)
entry_website.place(relx=0.4, rely=0.5)
button_website = ttk.Button(root, text='访问', command=visit_website)
button_website.place(relx=0.8, rely=0.5)
text_box = tk.Text(root)
text_box.place(relx=0.1, rely=0.7, relwidth=0.8, relheight=0.2)
# Translation
label_translate = ttk.Label(root, text='请输入要翻译的文本')
label_translate.place(relx=0.1, rely=0.9)
entry_translate = ttk.Entry(root)
entry_translate.place(relx=0.4, rely=0.9)
button_translate = ttk.Button(root, text='翻译', command=translate)
button_translate.place(relx=0.8, rely=0.9)
label_translation = ttk.Label(root, text='')
label_translation.place(relx=0.9, rely=0.9)
# Exit Button
button_exit = ttk.Button(root, text='退出', command=root.quit)
button_exit.place(relx=0.9, rely=0.95)
root.mainloop()
```
阅读全文
相关推荐


















