亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Tkinter中如何創建和使用單行文本輸入框

發布時間:2022-01-04 18:40:48 來源:億速云 閱讀:374 作者:柒染 欄目:大數據

Tkinter中如何創建和使用單行文本輸入框,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

文本輸入框是GUI編程中最常用的輸入形式,Tkinter為此提供了Entry類。先看程序執行結果:

Tkinter中如何創建和使用單行文本輸入框

首先是構建Entry對象,同樣的手法,差不多的結果。

# create fontftTimes = Font(family='Times', size=24, weight=BOLD)
# create a label to change state.entry = Entry(root,       background="#a0ffa0",foreground="#000000",       disabledbackground="#7f7f7f",disabledforeground="#000000",       font=ftTimes, width=32)entry.grid(row=0, column=0, columnspan=2)

接下來構建一個多行標簽對象處理表示鍵盤事件:

# create text variable.str_var = StringVar()# create a label to change state.label = Label(root,height=10, justify=LEFT, textvariable=str_var)label.grid(row=1, column=0, columnspan=2)

接下來為Entry對象綁定按鍵按下事件。代碼的內容是將事件的信息轉換為文字列再設置到前面構建的多行標簽上。

# bind eventdef OnKeyPress(e):    print(e)    current = str_var.get()    if len(current):        str_var.set(current + '\n' + str(e))    else:        str_var.set(str(e))entry.bind('<KeyPress>', OnKeyPress)

同樣的轉換狀態按鈕:


# change state function.def change_state():    state = entry.cget('state')    if state=='disabled':        entry.config(state='normal')    elif state=='normal':        entry.config(state='readonly')    else:        entry.config(state='disabled')
# change state button.Button(root,text="State", command=change_state).grid(row=2, column=0, sticky=E+W)

刪除選擇文本的代碼信息量比較大,稍微詳細一點說明。


# delete selection.def delete_selection():    anchor = entry.index(ANCHOR)    if anchor: # there is a selection        # current position of the insertion cursor        insert = entry.index(INSERT)        sel_from = min(anchor, insert)        sel_to = max(anchor, insert)        # delete the selection.        entry.delete(sel_from, sel_to)
# delete selection button.Button(root,text="Delete", command=delete_selection).grid(row=2, column=1, sticky=E+W)

ANCHOR是表示選擇文字開始位置的常數,有了這個常數我們就可以使用index方法取得第一個被選字符的索引;INSERT是表示插入光標位置的常數,利用這個常數,我們可以使用index方法取得光標位置的索引。當用戶如下選擇的時候:

Tkinter中如何創建和使用單行文本輸入框

被選文字的開始索引為1,光標位置的索引為6。用戶也可能這樣選:

Tkinter中如何創建和使用單行文本輸入框

這時被選文字的開始索引為6,光標位置的索引為1。

無論哪種情況,我們都可以刪除從兩個值的最小值開始到最大值范圍的內容以實現選擇文字的刪除。當然了實際上你只要按一下delete鍵就可以完成同樣的功能,這里只是為了展示Entry的用法。

關于Tkinter中如何創建和使用單行文本輸入框問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤山市| 开化县| 宜兴市| 弥渡县| 新安县| 蚌埠市| 德州市| 东宁县| 德惠市| 长沙县| 阿拉善左旗| 肇庆市| 新绛县| 塔河县| 恩施市| 什邡市| 云阳县| 康马县| 宝鸡市| 葵青区| 和硕县| 彩票| 迁安市| 宁蒗| 安顺市| 钟山县| 海阳市| 开化县| 和田县| 来宾市| 葫芦岛市| 建湖县| 澳门| 宝清县| 会东县| 桐城市| 察雅县| 武邑县| 长乐市| 贺州市| 茶陵县|