猫史档案馆


文字编辑器

用户:liuzhiyuliuzhiyu查看:0 回复:1 评论:0 创建时间:2021-02-11T11:22:56


from tkinter import*
from tkinter import scrolledtext,filedialog,messagebox,simpledialog
import sys

tex={'中文':['关于','文字编辑器','文字编辑器','文件','打开','保存','退出','其它','切换语言','替换','输入要替换的文字','替换为','编辑'],
     '繁體中文':['關於','文字編輯器','文字編輯器','檔案','打開','保存','退出','其它','切換語言','替換','輸入要替換的文字','替換為','編輯'],
     'Français':['À propos de l\'éditeur de texte','Éditeur de texte','Éditeur de texte','Ouvre','Économies','Exportations','Autres','Changer de langue','Remplacer','Saisissez le','texte à remplacer','Remplacer','Édition'],
     '日本語':['について','テキストエディタ','テキストエディタ','ファイル','開く','保存','終了','その他','言語の切り替え','置換','入力を置き換えるテキスト','に置き換える','編集'],
     'english':['About','text editor','Text editor','File','Open','Save','Exit','other','change language','replace ',' enter text to replace ',' replace with ','edit','save to','edit'],
     'عربي ،':['عبير','محرر النصوص','محرر النصوص','فايل','فتح','حفظ','انسحب','أخرى','تبديل اللغة','بديل','أدخل النص إلى ستبدال','استبدال','تحري']}
#language_code=['zh-cn','en','zh-tw','fe']
#language_number=1

def open_():
    file=filedialog.askopenfile(mode = 'r')
    if file != None:
        text.delete('1.0', END)
        text.insert('1.0', file.read())
        file.close()

def save():
    file=filedialog.askopenfile(mode = 'w')
    if file != None:
        file.write(text.get('1.0', END))
        file.close()

def about():
    messagebox.showinfo(tex[language][0],tex[language][1])

def exit():
    sys.exit(0)

def replace():
    global text
    a=simpledialog.askstring (tex[language][9],tex[language][10])
    b=simpledialog.askstring (tex[language][9],tex[language][11])
    if a==None or b==None or a=='' and b=='':
        messagebox.showinfo('error','code:001')
    else:
        TEXT=text.get (0.0, END).replace (a, b)
        text.delete ('1.0', END)
        text.insert ('1.0', TEXT)

'''
def change():
    global language,language_code,language_number
    language_number+=1
    language_number%=len(language_code)
    language=language_code[language_number]
'''
root_win=Tk()
language='中文'#simpledialog.askstring ('','请选择语言\nPlease select language\nVeuillez sélectionner une langue\nالرجاء اختيار اللغة\n言語を選択してください\n請選擇語言')
root_win.title(tex[language][2])


main_menu=Menu(root_win)
root_win.config(menu=main_menu)

file_menu=Menu(main_menu,tearoff=0)
main_menu.add_cascade (label=tex[language][3],menu=file_menu)
file_menu.add_command (label=tex[language][4],command=open_)
file_menu.add_command (label=tex[language][5],command=save)
file_menu.add_separator()
file_menu.add_command (label=tex[language][6],command=exit)

about_menu=Menu (main_menu,tearoff=0)
main_menu.add_cascade (label=tex[language][7],menu=about_menu)
about_menu.add_command (label=tex[language][0],command=about)
'''
about_menu.add_command(label=tex[language][8],command=change)
'''
c=Menu(main_menu,tearoff=0)
main_menu.add_cascade(label=tex[language][12],menu=c)
c.add_command(label=tex[language][9],command=replace)

text=scrolledtext.ScrolledText (root_win,width=80,height=30)
text.pack (fill='both',expand='yes')

root_win.mainloop()


回复

上一页1 页 / 共 1下一页
liuzhiyuliuzhiyu

# -*- coding: utf-8 -*-


from tkinter import*
from tkinter import scrolledtext,filedialog,messagebox,simpledialog,font
import sys

root=Tk()

tex={'中文':['关于','文字编辑器','文字编辑器','文件','打开','保存','退出','其它','切换语言','替换','输入要替换的文字','替换为','编辑','放大/缩小','选择字体','确定','大小',],
     '繁體中文':['關於','文字編輯器','文字編輯器','檔案','打開','保存','退出','其它','切換語言','替換','輸入要替換的文字','替換為','編輯','放大/缩小','选择字体','确定',],
     'Français':['À propos de l\'éditeur de texte','Éditeur de texte','Éditeur de texte','Ouvre','Économies','Exportations','Autres','Changer de langue','Remplacer','Saisissez le','texte à remplacer','Remplacer','Édition','放大/缩小','选择字体','确定',],
     '日本語':['について','テキストエディタ','テキストエディタ','ファイル','開く','保存','終了','その他','言語の切り替え','置換','入力を置き換えるテキスト','に置き換える','編集','放大/缩小','选择字体','确定',],
     'english':['About','text editor','Text editor','File','Open','Save','Exit','other','change language','replace ',' enter text to replace ',' replace with ','edit','save to','edit','放大/缩小','选择字体','确定',],
     'عربي ،':['عبير','محرر النصوص','محرر النصوص','فايل','فتح','حفظ','انسحب','أخرى','تبديل اللغة','بديل','أدخل النص إلى ستبدال','استبدال','تحري']}


bigSize=not True


def open_():
    file=filedialog.askopenfile(mode = 'r')
    if file != None:
        Text.delete('1.0', END)
        Text.insert('1.0', file.read())
        file.close()

def save():
    file=filedialog.askopenfile(mode = 'w')
    if file != None:
        file.write(Text.get('1.0', END))
        file.close()

def about():
    messagebox.showinfo(tex[language][0],tex[language][1])

def exit():
    root.destroy()
    sys.exit(0)

def replace():
    global Text
    a=simpledialog.askstring(tex[language][9],tex[language][10])
    b=simpledialog.askstring(tex[language][9],tex[language][11])
    TEXT=Text.get (0.0,END).replace (a, b)
    Text.delete ('1.0', END)
    Text.insert ('1.0',TEXT)

def size():
    global bigSize
    bigSize=not bigSize
    root.attributes('-fullscreen',bigSize)

def setFont_fontList():
    global  fontList,fontSet,text,textSize,Text,TextSize
    
    try:
        FONT=font.families()[fontList.curselection()[0]]
        Text['font']=(FONT,textSize.get())
    except:
        FONT=fontList.curselection()[0]
        Text['font']=(FONT,textSize.get())
    
    fontSet.withdraw()
    
def showFontList():
    global fontSet,fontList,textSize,TextSize
    fontSet=Tk()
    fontSet.attributes('-toolwindow',True)
    fontSet.resizable(0,0)
    fontList=Listbox(fontSet,setgrid=True,width=30,height=20,xscrollcommand=True)
    textSize=Scale(master=fontSet,label=tex[language][16],from_=5 ,to=40, length=200,sliderrelief= 'ridge',tickinterval=5)
    fontList.grid(row=0,column=0)
    textSize.grid(row=0,column=1)
    textSize.set(10) 
    for i in font.families():
        fontList.insert("end", i)
    okButton = Button(fontSet, text =tex[language][15], command = setFont_fontList,default='normal',relief= 'flat')
    okButton.grid(row=1,column=0,columnspan=2)

def callback():
    root.destroy()
    sys.exit(0)
    
language='中文'
root.title(tex[language][2])
root.geometry('喵0x480')
root.attributes('-fullscreen',not True)
root.protocol("WM_DELETE_WINDOW", callback)

main_menu=Menu(root)
root.config(menu=main_menu)

file_menu=Menu(main_menu,tearoff=0)
main_menu.add_cascade (label=tex[language][3],menu=file_menu)
file_menu.add_command (label=tex[language][4],command=open_)
file_menu.add_command (label=tex[language][5],command=save)
file_menu.add_separator()
file_menu.add_command (label=tex[language][6],command=exit)

other_menu=Menu (main_menu,tearoff=0)
main_menu.add_cascade (label=tex[language][7],menu=other_menu)
other_menu.add_command (label=tex[language][0],command=about)
other_menu.add_command(label=tex[language][13],command=size)
other_menu.add_command(label=tex[language][14],command=showFontList)

c=Menu(main_menu,tearoff=0)
main_menu.add_cascade(label=tex[language][12],menu=c)
c.add_command(label=tex[language][9],command=replace)

Text=scrolledtext.ScrolledText (root,width=80,height=30,font=('no font', 10))
Text.pack (fill='both',expand='yes')

root.mainloop()

点赞0


评论