import tkinter as tk
from tkinter import ttk
class SPSSApp:
def __init__(self, language='en'):
self.language = language
# 创建主窗口
self.window = tk.Tk()
self.window.title('SPSS')
# 创建菜单栏
menubar = tk.Menu(self.window)
# 创建文件菜单
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label='New', command=self.new_file)
filemenu.add_command(label='Open', command=self.open_file)
filemenu.add_command(label='Save', command=self.save_file)
filemenu.add_separator()
filemenu.add_command(label='Exit', command=self.window.quit)
# 创建帮助菜单
helpmenu = tk.Menu(menubar, tearoff=0)
helpmenu.add_command(label='About', command=self.about)
# 将菜单添加到菜单栏
menubar.add_cascade(label='File', menu=filemenu)
menubar.add_cascade(label='Help', menu=helpmenu)
# 设置菜单栏
self.window.config(menu=menubar)
# 创建主要内容区域
self.frame = ttk.Frame(self.window, padding='3 3 12 12')
self.frame.grid(column=0, row=0, sticky='nsew')
# 添加组件
self.add_widgets()
# 设置窗口大小
self.window.geometry('400x300')
def add_widgets(self):
# 添加组件
ttk.Label(self.frame, text='SPSS', font=('Helvetica', 16)).grid(column=0, row=0, columnspan=2)
if self.language == 'en':
ttk.Button(self.frame, text='Analyze', command=self.analyze).grid(column=0, row=1)
ttk.Button(self.frame, text='Visualize', command=self.visualize).grid(column=1, row=1)
ttk.Button(self.frame, text='Export', command=self.export).grid(column=0, row=2)
ttk.Button(self.frame, text='Help', command=self.help).grid(column=1, row=2)
elif self.language == 'zh':
ttk.Button(self.frame, text='分析', command=self.analyze).grid(column=0, row=1)
ttk.Button(self.frame, text='可视化', command=self.visualize).grid(column=1, row=1)
ttk.Button(self.frame, text='导出', command=self.export).grid(column=0, row=2)
ttk.Button(self.frame, text='帮助', command=self.help).grid(column=1, row=2)
# 添加语言切换按钮
ttk.Button(self.frame, text='中文', command=self.switch_to_chinese).grid(column=0, row=3)
ttk.Button(self.frame, text='English', command=self.switch_to_english).grid(column=1, row=3)
def new_file(self):
pass
def open_file(self):
pass
def save_file(self):
pass
def analyze(self):
pass
def visualize(self):
pass
def export(self):
pass
def help(self):
pass
def about(self):
pass
def switch_to_chinese(self):
self.language = 'zh'
self.refresh()
def switch_to_english(self):
self.language = 'en'
self.refresh()
def refresh(self):
# 销毁原有组件
for child in self.frame.winfo_children():
child.destroy()
# 添加新的组件
self.add_widgets()
def run(self):
self.window.mainloop()
if __name__ == '__main__':
app = SPSSApp()
app.run()
用tkinter写一个软件界面支持中英文切换
最新推荐文章于 2024-07-13 14:48:47 发布