摘要:最近在練習(xí)一個(gè)關(guān)于項(xiàng)目的列表,拿到列表看到這是要實(shí)現(xiàn)一個(gè)記事本功能,剛開(kāi)始拿到題目真有點(diǎn)懵。尤其是試驗(yàn)之后發(fā)現(xiàn)一定要用類(lèi)實(shí)現(xiàn)起來(lái)才簡(jiǎn)單一些,對(duì)于這點(diǎn)類(lèi),,要知道本人已經(jīng)接觸語(yǔ)言多年,但對(duì)于面向?qū)ο筮€是一竅不通。
最近在練習(xí)一個(gè)關(guān)于python項(xiàng)目的列表,拿到列表看到這是要實(shí)現(xiàn)一個(gè)記事本功能,剛開(kāi)始拿到題目真有點(diǎn)懵。雖然用python實(shí)現(xiàn)excel的處理已經(jīng)很熟悉了,且已經(jīng)把python的知識(shí)點(diǎn)都學(xué)了一遍,但是用起來(lái)還是不順手吶。尤其是試驗(yàn)之后發(fā)現(xiàn)一定要用類(lèi)實(shí)現(xiàn)起來(lái)才簡(jiǎn)單一些,對(duì)于這1點(diǎn) ---類(lèi),,要知道本人已經(jīng)接觸c語(yǔ)言多年,但對(duì)于面向?qū)ο筮€是一竅不通。好吧,再去翻python關(guān)于類(lèi)的知識(shí),終于給整出來(lái)一點(diǎn)門(mén)道了。還是代碼中解釋吧。
注意:這是基于Python3。
#Python支持多種圖形界面的庫(kù),為了不再麻煩去下載新的庫(kù),這里直接使用了python自帶的tkinter庫(kù),記住本代碼主要為了練習(xí)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的GUI界面,順便熟悉一下tkinter的使用 from tkinter import * import os from tkinter import filedialog def die(): root.destroy() class Create: # init函數(shù)定義類(lèi)的一些屬性 def __init__(self,root): self.root=(root) #菜單控件;顯示菜單欄,下拉菜單和彈出菜單,明顯這里是要?jiǎng)?chuàng)建基于root的頂層菜單,記住名字self.menubar self.menubar=Menu(root) #Text是tkinter中的文本控件,用于顯示多行文本 self.textpad = Text(root) self.textpad.pack(expand=YES,fill=BOTH)#expand 允許拉伸,fill允許(xy兩個(gè)方向)填充 #這里,是要?jiǎng)?chuàng)建基于頂層菜單的下拉菜單,記住它的名字self.filemenu self.filemenu=Menu(self.menubar,tearoff=0) #好吧,開(kāi)始添加命令吧,記得要把實(shí)現(xiàn)方法添加到command屬性中,順便提一下menu的屬性:label,command,accelerator,underline self.filemenu.add_command(label="新建",accelerator="Ctrl+N") self.filemenu.add_command(label="打開(kāi)",command=self.openfile) self.filemenu.add_separator() self.filemenu.add_command(label="保存",command=self.save) self.filemenu.add_command(label="另存為",command=self.donothing) self.filemenu.add_separator() self.filemenu.add_command(label="頁(yè)面設(shè)置",accelerator="U",command=self.donothing) self.filemenu.add_command(label="打印",accelerator="Ctrl+P",command=self.donothing) self.filemenu.add_separator() self.filemenu.add_command(label="退出",accelerator="X",command=die) #好了,創(chuàng)建完畢就級(jí)聯(lián)到頂層菜單上吧,順便給它們起一個(gè)名字“文件” self.menubar.add_cascade(label="文件",menu=self.filemenu) self.editmenu = Menu(self.menubar, tearoff=0) self.editmenu.add_command(label="Undo", command=self.donothing) self.editmenu.add_command(label="Cut", command=self.donothing) self.editmenu.add_command(label="Copy", command=self.donothing) self.menubar.add_cascade(label="edit",menu=self.editmenu) self.helpmenu = Menu(self.menubar, tearoff=0) self.helpmenu.add_command(label="Help Index", command=self.donothing) self.helpmenu.add_command(label="About...", command=self.donothing) self.menubar.add_cascade(label="Help", menu=self.helpmenu) self.root.config(menu=self.menubar) def donothing(self): filewin=Toplevel(self.root) button=Button(filewin,text="hi,添加你的代碼") button.pack() def openfile(self): #這里,也是在網(wǎng)上搜了一下發(fā)現(xiàn)有如此好用的函數(shù),看來(lái)要用python實(shí)現(xiàn)一個(gè)東西時(shí),一定要先去了解一下有沒(méi)有好用的庫(kù) filename = filedialog.askopenfilename(title = "打開(kāi)",filetypes = [("文件","*.txt")]) if filename == "": filename = None else: root.title("FileName:"+os.path.basename(filename)) self.textpad.delete(1.0,END) f = open(filename,"r+") self.textpad.insert(1.0,f.read()) f.close() def save(self): sname = filedialog.asksaveasfilename(title = "保存",filetypes = [("保存文件","*.txt")]) f = open(sname,"w+") msg = self.textpad.get(1.0,END) f.write(msg) f.close() if __name__ == "__main__": root = Tk() #定義一個(gè)主窗口 root.title("記事本") #看到title了嗎?添加一個(gè)屬性,名字叫記事本 root.geometry("800x500") #幾何布局,初始化主窗口的大小 window = Create(root) #從這里開(kāi)始正式調(diào)用Create實(shí)現(xiàn)一個(gè)記事本 root.mainloop()
好吧,就這樣,抽空再完善
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38279.html
摘要:,庫(kù)的使用,注意已經(jīng)與有了很大不同。對(duì)于下面的,定義了一些窗口屬性,接下來(lái)在代碼中我會(huì)簡(jiǎn)單記錄一下它的用法。 這次練習(xí)的題目是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的RSS功能,需要了解的知識(shí)點(diǎn): tkinter,在上一篇《簡(jiǎn)單的記事本》中已經(jīng)了解了一些tkinter的用法,在這里延續(xù)了上一篇,加深一下印象。 urllib,HTMLPaser庫(kù)的使用,注意python3已經(jīng)與python2有了很大不同。 #...
摘要:然而,每個(gè)人對(duì)編輯器的喜好各不相同,甚至引發(fā)出諸如神的編輯器與編輯器之神這種信仰之爭(zhēng)。我們用來(lái)寫(xiě)的工具有兩類(lèi)一種是被稱(chēng)為的集成開(kāi)發(fā)環(huán)境,它們?yōu)殚_(kāi)發(fā)而生。但僅我上述提及的幾個(gè)其實(shí)也足夠用了。正如標(biāo)題所說(shuō)工欲善其事,必先利其器。 通常來(lái)說(shuō),每個(gè)程序員都有自己趁手的兵器: 代碼編輯器 。你要是讓他換個(gè)開(kāi)發(fā)環(huán)境,恐怕開(kāi)發(fā)效率至少下降三成。然而,每個(gè)人對(duì)編輯器的喜好各不相同,甚至引發(fā)出諸如神的編...
摘要:跟等微軟一家所開(kāi)發(fā)的編程語(yǔ)言不同,是典型的開(kāi)放式的社群型開(kāi)發(fā)語(yǔ)言,也就是說(shuō)由來(lái)自全球各個(gè)角落的人共同貢獻(xiàn)創(chuàng)造而成。 Python跟VB、VC等微軟一家所開(kāi)發(fā)的編程語(yǔ)言不同,是典型的開(kāi)放式的社群型開(kāi)發(fā)語(yǔ)言,也就是說(shuō)由來(lái)自全球各個(gè)角落的人共同貢獻(xiàn)、創(chuàng)造而成。所以,要學(xué)習(xí)Python語(yǔ)言,就不要想著點(diǎn)擊個(gè)EXE文件,安裝完成就馬上就可以開(kāi)始編碼、查看效果了。Python的核心代碼由一部分人開(kāi)...
閱讀 1661·2021-11-22 14:45
閱讀 1112·2021-11-17 09:33
閱讀 3361·2021-09-02 09:48
閱讀 997·2019-08-30 15:54
閱讀 2793·2019-08-30 15:53
閱讀 2582·2019-08-30 12:54
閱讀 2272·2019-08-29 12:37
閱讀 2449·2019-08-26 13:58