中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Tkinter文本編輯控件Text怎么用

本篇內(nèi)容主要講解“Tkinter文本編輯控件Text怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Tkinter文本編輯控件Text怎么用”吧!

創(chuàng)新互聯(lián)憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營(yíng)銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶提供了成都網(wǎng)站制作、成都做網(wǎng)站服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。

不同于Entry控件只能支持一行輸入,文本編輯控件Text除了支持多行顯示和編輯之外,同時(shí)支持撤銷和重做,以及對(duì)于不同的部分設(shè)定不同的格式。

Enbale按鈕用于切換Text控件是否允許用戶的編輯操作。由于Text的表示顏色不會(huì)因?yàn)闋顟B(tài)的不同而不同,因此代碼同時(shí)會(huì)調(diào)整Text控件的表示顏色。

# change state function.def change_state():    state = text.cget('state')    if state=='disabled':        text.config(state='normal')        text.config(background='#a0ffa0')    else:        text.config(state='disabled')        text.config(background='#efefef')# change state button.eb = Button(root,text="Enable", width=8, command=change_state)eb.grid(row=0, column=0, sticky=E+W)

Delete按鈕用于刪除選擇內(nèi)容。需要注意的是Text控件取得選擇內(nèi)容的方式和Entry不同。

# delete selection.def delete_selection():    try:        sel_from = text.index(SEL_FIRST)        sel_to = text.index(SEL_LAST)        # delete the selection.        text.delete(sel_from, sel_to)    except TclError:        pass
# delete selection button.db = Button(root,text="Delete", width = 8, command=delete_selection)db.grid(row=0, column=1, sticky=E+W)

Undo和Redo按鈕直接使用Text的方法即可實(shí)現(xiàn)撤銷和重做功能。代碼中使用了lambda表達(dá)式以簡(jiǎn)化調(diào)用。

# undo buttonundo = Button(root, text='Undo', width = 8, command=lambda:text.edit_undo())undo.grid(row=0, column = 2, sticky=E+W)#redo buttonredo = Button(root, text='Redo', width = 8, command=lambda:text.edit_redo())redo.grid(row=0, column = 3, sticky=E+W)

設(shè)置格式的按鈕一共有四個(gè),它們共用一套處理邏輯,各個(gè)按鈕使用不同的參數(shù)調(diào)用同一個(gè)format函數(shù)。

# create fontsfonts = [    Font(family='SimHei', size=20, weight=BOLD),    Font(family='SimHei', size=16),    Font(family='SimSun', size=12, weight=BOLD),    Font(family='SimSun', size=12)    ]
# delete selection.def format(index):    tag_name = 'Format' + str(index)    try:        sel_from = text.index(SEL_FIRST)        sel_to = text.index(SEL_LAST)        for name in text.tag_names():            text.tag_remove(name, sel_from, sel_to)        text.tag_add(tag_name, sel_from, sel_to)        # set format at first time。        range_count = len(text.tag_ranges(tag_name))        if range_count == 2:            text.tag_config(tag_name, font=fonts[index])    except TclError:        pass
# delete selection button.for i in range(0, 4):    fb = Button(root,                text="Format" + str(i),                width = 8,                command=lambda v=i : format(v))    fb.grid(row=1, column=i, sticky=E+W)

代碼中使用了tag_remove、tag_add、tag_config和tag_names方法實(shí)現(xiàn)了簡(jiǎn)單的格式設(shè)定功能。

最后構(gòu)建Text控件。需要注意的是,undo屬性的值被指定為True,以令撤銷和重做功能有效。

# create text widget.text = Text(root,            undo=True,            background="#a0ffa0", foreground="#000000",            height = 10)text.grid(row=2 , column=0, columnspan=8)

一個(gè)比較遺憾的事實(shí)是,設(shè)定文本格式的動(dòng)作并沒有包含在重做和撤銷的處理范圍內(nèi)。

到此,相信大家對(duì)“Tkinter文本編輯控件Text怎么用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

名稱欄目:Tkinter文本編輯控件Text怎么用
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article44/gpogee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、定制網(wǎng)站、Google品牌網(wǎng)站設(shè)計(jì)、服務(wù)器托管網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
蒙城县| 襄垣县| 云林县| 新乡县| 临朐县| 无为县| 清流县| 梁平县| 武威市| 安远县| 安康市| 深水埗区| 长治县| 遂宁市| 洛隆县| 额济纳旗| 富阳市| 兰溪市| 武义县| 城口县| 阳新县| 乃东县| 台中市| 河北省| 海阳市| 嵊州市| 阿坝县| 霍城县| 常德市| 灵寿县| 马尔康县| 中阳县| 郓城县| 乌拉特后旗| 固原市| 神木县| 洪湖市| 紫金县| 大安市| 永定县| 监利县|