成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python寫一個(gè)簡單的圖形化記事本

vibiu / 1784人閱讀

摘要:桌面編程此程序使用工具完成,首先創(chuàng)建一個(gè)項(xiàng)目,然后創(chuàng)建一個(gè)文件作者信息本軟件由君惜完成版權(quán)信息本軟件版權(quán)為君惜所有未命名文件未命名重做撤銷查找創(chuàng)建菜單文件菜單新建打開保存另存為文件關(guān)聯(lián)編輯菜單撤銷重做剪切復(fù)制粘貼查找全選編輯關(guān)于作者版權(quán)關(guān)

Tkinter 桌面編程 此程序使用 IDE 工具 pycharm 完成,首先創(chuàng)建一個(gè)項(xiàng)目 project_practice,然后創(chuàng)建一個(gè) python 文件 note.py
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = "junxi"
from tkinter import *
from tkinter.messagebox import *
from tkinter.filedialog import *
from tkinter.simpledialog import *
import os
def author():
    showinfo("作者信息", "本軟件由君惜完成")

def about():
    showinfo("版權(quán)信息.Copyright", "本軟件版權(quán)為君惜所有")

def openfile():
    global filename
    filename = askopenfilename(defaultextension=".txt")
    if filename == "":
        filename = None
    else:
        root.title("FileName: " + os.path.basename(filename))
        textPad.delete(1.0, END)
        f = open(filename,"r")
        textPad.insert(1.0, f.read())
        f.close()

def new():
    global filename
    root.title("未命名文件")
    textPad.delete(1.0, END)

def save():
    global filename
    try:
        f = open(filename, "w")
        msg = textPad.get(1.0, END)
        f.write(msg)
        f.close()
    except:
        save_as()

def save_as():
    f = asksaveasfilename(initialfile="未命名.txt", defaultextension=".txt")
    global filename
    filename = f
    fh = open(f, "w")
    msg = textPad.get(1.0, END)
    fh.write(msg)
    fh.close()
    root.title("FileName: " + os.path.basename(f))

def cut():
    textPad.event_generate("<>")

def copy():
    textPad.event_generate("<>")

def paste():
    textPad.event_generate("<>")

def redo():     # 重做
    textPad.event_generate("<>")

def undo():     # 撤銷
    textPad.event_generate("<>")

def select_all():
    textPad.tag_add("sel", "1.0", END)
def search():
    topsearch = Toplevel(root)
    topsearch.geometry("300x30+200+250")
    label1 = Label(topsearch, text="Find")
    label1.grid(row=0, column=0, padx=5)
    entry1 = Entry(topsearch, width=20)
    entry1.grid(row=0, column=1, padx=5)
    button1 = Button(topsearch, text="查找")
    button1.grid(row=0, column=2, padx=10)

?

root = Tk()
root.title("junxi note")
root.geometry("800x500+100+100")

# 創(chuàng)建菜單
menubar = Menu(root)
root.config(menu = menubar)

# 文件菜單
filemenu = Menu(menubar)
filemenu.add_command(label="新建", accelerator="Ctrl + N", command=new)
filemenu.add_command(label="打開", accelerator="Ctrl + O", command=openfile)
filemenu.add_command(label="保存", accelerator="Ctrl + S", command=save)
filemenu.add_command(label="另存為", accelerator="Ctrl + Shift + S", command=save_as)
menubar.add_cascade(label= "文件", menu = filemenu)       # 關(guān)聯(lián)

# 編輯菜單
editmenu = Menu(menubar)
editmenu.add_command(label="撤銷", accelerator="Ctrl + Z", command=undo)
editmenu.add_command(label="重做", accelerator="Ctrl + Y", command=redo)
editmenu.add_separator()
editmenu.add_command(label="剪切", accelerator="Ctrl + X", command=cut)
editmenu.add_command(label="復(fù)制", accelerator="Ctrl + C", command=copy)
editmenu.add_command(label="粘貼", accelerator="Ctrl + V", command=paste)
editmenu.add_separator()
editmenu.add_command(label="查找", accelerator="Ctrl + F", command=search)
editmenu.add_command(label="全選", accelerator="Ctrl + A", command=select_all)
menubar.add_cascade(label="編輯", menu = editmenu)

# 關(guān)于
aboutmenu = Menu(menubar)
aboutmenu.add_command(label="作者", command=author)
aboutmenu.add_command(label="版權(quán)", command=about)
menubar.add_cascade(label="關(guān)于", menu = aboutmenu)

# 工具欄
toolbar = Frame(root, height=25, bg="Light sea green")

# 按鈕
shortButton = Button(toolbar, text="打開", command=openfile)
shortButton.pack(side=LEFT, padx=5, pady=5)
shortButton = Button(toolbar, text="保存", command=save)
shortButton.pack(side=LEFT)
toolbar.pack(expand=NO, fill=X)         # 顯示

# 狀態(tài)欄
status = Label(root, text="Ln20", bd=1, relief=SUNKEN, anchor=W)
status.pack(side=BOTTOM, fill=X)

# 行號(hào)和文本編輯
linelabel = Label(root, width=2, bg="antique white")
linelabel.pack(side=LEFT, fill=Y)
textPad = Text(root, undo=True)
textPad.pack(expand=YES, fill=BOTH)

# 右邊滾動(dòng)下拉條
scroll = Scrollbar(textPad)
textPad.config(yscrollcommand=scroll.set)
scroll.config(command=textPad.yview)
scroll.pack(side=RIGHT, fill=Y)
root.mainloop()


查看效果

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41611.html

相關(guān)文章

  • python入門之一個(gè)簡單事本

    摘要:最近在練習(xí)一個(gè)關(guān)于項(xiàng)目的列表,拿到列表看到這是要實(shí)現(xiàn)一個(gè)記事本功能,剛開始拿到題目真有點(diǎn)懵。尤其是試驗(yàn)之后發(fā)現(xiàn)一定要用類實(shí)現(xiàn)起來才簡單一些,對(duì)于這點(diǎn)類,,要知道本人已經(jīng)接觸語言多年,但對(duì)于面向?qū)ο筮€是一竅不通。 最近在練習(xí)一個(gè)關(guān)于python項(xiàng)目的列表,拿到列表看到這是要實(shí)現(xiàn)一個(gè)記事本功能,剛開始拿到題目真有點(diǎn)懵。雖然用python實(shí)現(xiàn)excel的處理已經(jīng)很熟悉了,且已經(jīng)把python...

    xietao3 評(píng)論0 收藏0
  • 有助于機(jī)器學(xué)習(xí)7個(gè)云計(jì)算服務(wù)

    摘要:用于機(jī)器學(xué)習(xí)人工智能數(shù)據(jù)分析的基于云計(jì)算的工具日前增多。亞馬遜公司創(chuàng)建了,以簡化使用其機(jī)器學(xué)習(xí)工具的工作。用于機(jī)器學(xué)習(xí)、人工智能、數(shù)據(jù)分析的基于云計(jì)算的工具日前增多。其中的一些應(yīng)用是在基于云計(jì)算的文檔編輯和電子郵件,技術(shù)人員可以通過各種設(shè)備登錄中央存儲(chǔ)庫,并在遠(yuǎn)程位置,甚至在路上或海灘上進(jìn)行工作。云計(jì)算可以處理文件備份和同步,簡化工作流程。數(shù)據(jù)分析是很多組織在云計(jì)算平臺(tái)進(jìn)行的一項(xiàng)主要計(jì)算工作...

    stonezhu 評(píng)論0 收藏0
  • 這里有8個(gè)流行Python可視工具包,你喜歡哪個(gè)?

    摘要:下面,作者介紹了八種在中實(shí)現(xiàn)的可視化工具包,其中有些包還能用在其它語言中。當(dāng)提到這些可視化工具時(shí),我想到三個(gè)詞探索數(shù)據(jù)分析。還可以選擇樣式,它模擬了像和等很流行的美化工具。有很多數(shù)據(jù)可視化的包,但沒法說哪個(gè)是最好的。 showImg(https://segmentfault.com/img/remote/1460000019029121); 作者:Aaron Frederick 喜歡用...

    testbird 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<