Tkinter基礎(chǔ)學(xué)習(xí)

開(kāi)智學(xué)院的第二周任務(wù),把CLI下的日記寫成窗口的形式表現(xiàn)出來(lái),基本實(shí)現(xiàn)的功能如下:

  • 每次輸入一行
  • 輸入前把上次內(nèi)容打印出來(lái)
  • 自動(dòng)保存在工作路徑

把CLI在窗口中表現(xiàn)出來(lái)议薪,開(kāi)智學(xué)院提示用到Tkinter,常用的官方文檔如下:

開(kāi)始學(xué)習(xí)使用Tkinter( 我的運(yùn)行環(huán)境是Win7 Sublime text 3 Powershll)

  • 我的代碼用的基本組件

    • Label
    • Entry
    • Frame
    • Button
  • 組件方法

    • .insert
    • .delete
  • 下面是我的全部代碼

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

from Tkinter import *
import time
from os.path import exists

daily_file = "daily.txt"

def main():

    root = Tk()
    root.title("我的日記本") #窗口的標(biāo)題
    root.geometry("600x400+50+50") #600x400是初始化窗口的大小,0百宇,0是窗口的初始位置


    def ShowHistory():
        if exists(daily_file):
            daily = open(daily_file,'r')
            T.delete(1.0,END) #刪除text窗口中之前顯示的內(nèi)容 
            T.insert(END,"="*18+'\n')
            T.insert(END,daily.read())
            T.insert(END,"="*18+'\n')
            daily.close()
        else:
            T.insert(END,"對(duì)不起你還沒(méi)開(kāi)始寫日記.\n")

    def ClearDaily():
        if exists(daily_file):
            daily = open(daily_file,"w")
            T.delete(1.0,END)
            T.insert(END,"已刪除日記 \n")
            daily.close()
        else:
            T.insert(END, "對(duì)不起你還沒(méi)開(kāi)始寫日記.\n")

    def AddLine(event):
        daily = open(daily_file,"a")
        new_line = E.get().encode('utf-8')
        current_time = time.strftime("<%Y-%m-%d %H:%M:%S>")
        daily.write(current_time+'\t')
        daily.write(new_line +'\n')
        daily.close()
        E.delete(0,END)

        T.insert(END,new_line)

    frm = Frame(root,height = 5)
    frm.pack()

    button1 = Button(frm,text = "歷史記錄",width =20,command = ShowHistory)
    button1.pack(side ='left',padx =5, pady = 2)

    button2 = Button(frm, text = "清除記錄",width = 20, command = ClearDaily)
    button2.pack(side ='left',padx = 5, pady = 2)

    button3 = Button(frm, text = "關(guān)閉日記", width = 20, command = root.destroy)
    button3.pack(side ='left',padx = 5, pady = 2)

    T = Text(root,height= 25,bg = "grey", font = "Aral 10")
    T.pack()

    frm2 = Frame(root, height = 10)
    frm2.pack()

    L = Label(frm2,text = "這里輸入")
    L.pack(side = 'left', padx = 0)

    E = Entry(frm2, text = ">>",width = 35)
    E.pack(side = 'left')
    E.bind("<Return>",AddLine)

    root.mainloop()

if __name__ == "__main__":
    main() 
  • 重要細(xì)節(jié)總結(jié)
    • 代碼分三大塊
      1.Button區(qū)域用了frm框起來(lái)
      2.中間的文本顯示區(qū)直接關(guān)聯(lián)root
      3.Label和Entry組件從屬于frm2
    • frm,frm2和T都從屬于root
    • 每個(gè)組件按要求寫完后都要寫完相應(yīng)的.pack()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末考廉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子携御,更是在濱河造成了極大的恐慌昌粤,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啄刹,死亡現(xiàn)場(chǎng)離奇詭異涮坐,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)誓军,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門袱讹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事捷雕〗飞ィ” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵救巷,是天一觀的道長(zhǎng)壶熏。 經(jīng)常有香客問(wèn)我,道長(zhǎng)浦译,這世上最難降的妖魔是什么棒假? 我笑而不...
    開(kāi)封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮精盅,結(jié)果婚禮上帽哑,老公的妹妹穿的比我還像新娘。我一直安慰自己渤弛,他們只是感情好祝拯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著她肯,像睡著了一般佳头。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晴氨,一...
    開(kāi)封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天康嘉,我揣著相機(jī)與錄音,去河邊找鬼籽前。 笑死亭珍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的枝哄。 我是一名探鬼主播肄梨,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼挠锥!你這毒婦竟也來(lái)了众羡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蓖租,失蹤者是張志新(化名)和其女友劉穎粱侣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓖宦,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齐婴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稠茂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柠偶。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出诱担,到底是詐尸還是另有隱情鲫售,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站藐不,受9級(jí)特大地震影響匀哄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜雏蛮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一涎嚼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挑秉,春花似錦犀概、人聲如沸姻灶。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至卧土,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颤霎,已是汗流浹背锤躁。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工椒振, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梧乘。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓澎迎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親选调。 傳聞我的和親對(duì)象是個(gè)殘疾皇子夹供,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    aimaile閱讀 26,503評(píng)論 6 427
  • 原來(lái)書中有這么多的“綠” 罩引, 吟哦諷誦而后得之。它是營(yíng)養(yǎng)品枝笨,它是興奮劑袁铐,它是教材的顏色,它是溫?zé)岬难骸?(1...
    小杜之母閱讀 314評(píng)論 1 3
  • 銜接上一篇72:青絲如瀑嫁白首 289 慕容暖春倒也沒(méi)再說(shuō)什么横浑,今天是大喜的日子剔桨,想來(lái)那個(gè)紅蓮國(guó)的公主不會(huì)搞出什么...
    幽小窗閱讀 711評(píng)論 12 25
  • 修改plist文件配置 項(xiàng)目中除了網(wǎng)絡(luò)接口請(qǐng)求需要https驗(yàn)證,什么打開(kāi)網(wǎng)頁(yè)啊徙融,加載圖片這些都不需要洒缀。ATS,每...
    神采飛揚(yáng)_2015閱讀 2,808評(píng)論 0 0
  • 代碼塊 首先我們了解代碼塊的概念在Java中欺冀,使用{}括起來(lái)的代碼被稱為代碼塊树绩,根據(jù)其位置和聲明的不同,可以分為局...
    清風(fēng)沐沐閱讀 241評(píng)論 0 0