python寫(xiě)的一個(gè)文本編輯器
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#=============================================================================
# FileName:
# Desc:
# Author: ToughGuy
# Version: 0.0.1
# LastChange: 2013-02-20 14:52:11
# History:
#=============================================================================
from Tkinter import *
import tkMessageBox,tkFileDialog
import platform
# nl = os.linesep
def openfile():
global filename # 使用global聲明為全局變量,方便后邊的程序調(diào)用
systype = platform.system() # 判斷系統(tǒng)類型
if systype == 'windows':
basedir = 'c:\\'
else:
basedir = '/'
filename = tkFileDialog.askopenfilename(initialdir=basedir)
try:
fobj_r = open(filename, 'r')
except IOError, errmsg:
print '*** Failed open file:', errmsg
else:
editbox.delete(1.0, END)
for eachline in fobj_r:
editbox.insert(INSERT, eachline)
fobj_r.close()
def savefile():
save_data = editbox.get(1.0, END)
try:
fobj_w = open(filename, 'w')
fobj_w.writelines(save_data.encode('utf-8'))
fobj_w.close()
tkMessageBox.showinfo(title='提示',
message='保存成功')
except IOError, errmsg:
tkMessageBox.showwarning(title='保存失敗', message='保存出錯(cuò) ')
tkMessageBox.showwarning(title='錯(cuò)誤信息', message=errmsg)
except NameError:
tkMessageBox.showwarning(title='保存失敗', message='未打開(kāi)文件')
def showlinenum():
tkMessageBox.showinfo(title='提示',
message='這個(gè)功能作者現(xiàn)在不會(huì)寫(xiě),放這里裝飾用的.')
def destroy_ui(ui):
ui.destroy()
def aboutauthor():
author_ui = Toplevel()
author_ui.title('關(guān)于')
author_ui.geometry('200x80')
about_string = Label(author_ui,
text="作者: ToughGuy")
confirmbtn = Button(author_ui, text='確定',
command=lambda:destroy_ui(author_ui))
about_string.pack()
confirmbtn.pack()
# author_ui.mainloop()
def CreateMenus():
# 初始化菜單
Menubar = Menu(root)
# 創(chuàng)建文件菜單
filemenu = Menu(Menubar, tearoff=0)
filemenu.add_command(label='打開(kāi)文件', command=openfile)
filemenu.add_command(label='保存文件', command=savefile)
filemenu.add_command(label='退出', command=lambda:destroy_ui(root))
Menubar.add_cascade(label='文件', menu=filemenu)
# 創(chuàng)建編輯菜單
editmenu = Menu(Menubar, tearoff=0)
editmenu.add_command(label='顯示行號(hào)', command=showlinenum)
Menubar.add_cascade(label='編輯', menu=editmenu)
# 創(chuàng)建幫助菜單
helpmenu = Menu(Menubar, tearoff=0)
helpmenu.add_command(label='關(guān)于作者', command=aboutauthor)
Menubar.add_cascade(label='幫助', menu=helpmenu)
root.config(menu=Menubar)
root = Tk()
root.title('文本編輯器')
root.geometry('500x400')
CreateMenus()
editbox = Text(root, width=70, height=25, bg='white')
editbox.pack(side=TOP, fill=X)
root.mainloop()
相關(guān)文章
python中pow函數(shù)用法及功能說(shuō)明
在本篇文章里小編給大家整理的是一篇關(guān)于python中pow函數(shù)用法及功能說(shuō)明內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-12-12
pandas學(xué)習(xí)之df.fillna的具體使用
本文主要介紹了pandas學(xué)習(xí)之df.fillna的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
pandas.loc 選取指定列進(jìn)行操作的實(shí)例
今天小編就為大家分享一篇pandas.loc 選取指定列進(jìn)行操作的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python爬蟲(chóng)之m3u8文件里提取小視頻的正確姿勢(shì)
本文給大家分享如何正確提取m3u8文件里的.ts視頻,并合成完整的.mp4格式視頻,通過(guò)圖文實(shí)例代碼的形式給大家介紹的非常詳細(xì),對(duì)Python提取m3u8文件小視頻感興趣的朋友一起看看吧2021-05-05
tensorflow保持每次訓(xùn)練結(jié)果一致的簡(jiǎn)單實(shí)現(xiàn)
今天小編就為大家分享一篇tensorflow保持每次訓(xùn)練結(jié)果一致的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02

