用tkinter写一个软件界面支持中英文切换

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值