久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

python tkinter Entry控件的焦點移動操作

瀏覽:2日期:2022-06-18 16:26:43

話不多說。

代碼片:

# -*- coding: utf8 -*-from tkinter import *########################################--------------tk----------------class App: def __init__(self,master):frame = Frame(master)frame.pack(expand=1)self.e1 = Entry(frame) self.e1.pack() self.e2 = Entry(frame) self.e2.pack() self.e1.bind('<Return>',handlerAdaptor(focus_cg,e2=self.e2))#tk類不能直接傳遞參數,需要lambdadef focus_cg(event,e2): e2.focus_set() #焦點移到e2def handlerAdaptor(fun, **kwds):#事件處理函數的適配器,相當于中介,那個event是從那里來的呢,我也納悶,這也許就是python的偉大之處吧 return lambda event,fun=fun,kwds=kwds: fun(event, **kwds) if __name__ == ’__main__’: root = Tk() app=App(root) root.mainloop()

Tkinter 事件綁定的,參數不能直接傳遞。全局變量可以使用。

不使用全局變量的方法:

self.btn = Button(frame,text=u’OK’, command=lambda : handler(v=123))事件綁定型:

self.e1.bind('<Return>',handlerAdaptor(focus_cg,e2=self.e2))#tk類不能直接傳遞參數,需要lambdadef focus_cg(event,e2): e2.focus_set() #焦點移到e2def handlerAdaptor(fun, **kwds):#事件處理函數的適配器,相當于中介,那個event是從那里來的呢,我也納悶,這也許就是python的偉大之處吧 return lambda event,fun=fun,kwds=kwds: fun(event, **kwds)

補充:Python之tkinter 文本框Entry的基本應用

Entry簡介

所謂的文本框Entry,通常是指單行的文本框,在GUI程序設計中,這是用于輸入的最基本控件,我們可以使用它輸入單行字符串,如果所輸入的字符串長度大于文本框的寬度,所輸入的文字會自動隱藏,造成部分內容無法顯示,碰到這種狀況時可以使用箭頭鍵移動鼠標光標到看不到的區域。

文本框限定的是單行文字,如果想要處理多行文字,需要使用控件中的text

它的語法格式:

Entry(父對象, options, ...)

第一個參數:父對象,表示這個文本框將建立在哪一個窗口內

第二個參數:options,參數如下

參數 含義 borderwidth 邊界寬度 默認是兩個像素 bd 邊界寬度 默認是兩個像素 background 背景色彩 bg 背景色彩 command 當用戶更改內容時,會自動執行此函數 cursor 當鼠標光標移至按鈕上時的形狀 exportselection 如果執行選取時,所選取的字符串會自動輸出至剪貼板 如果想要避免,可以設置exportselection=0 foreground 前景色彩 fg 前景色彩 font 字形 height 高,單位是字符高 highlightbackground 當功能按鈕獲取焦點時的背景顏色 highlightcolor 當工人按鈕取得焦點時的顏色 justify 當有多行文字時,最后一行文字的對齊方式 relief 可由此控制文字外框 默認是relief=FLAT selectbackground 被選取字符串的背景色彩 selectborderwidth 選取字符串時的邊界寬度 預設是1 selectfroeground 被選取字符串的前景色彩 show 顯示輸入字符 例如,show=’*’表示顯示星號,常用于輸入密碼字段 state 輸入狀態 默認是NORMAL表示可以輸入,DISABLE則表示無法輸入 textvariable 文字變量 width 寬,單位是字符寬 xscrollcommand 在X軸使用滾動條 Entry的基本應用

例子:建立標簽和文本框,輸入姓名和地址

import tkinterroot = tkinter.Tk()label1 = tkinter.Label(root, text='姓名 :')label2 = tkinter.Label(root, text='住址 :')label1.grid(row=0)label2.grid(row=1)entry1 = tkinter.Entry(root)entry2 = tkinter.Entry(root)entry1.grid(row=0, column=1)entry2.grid(row=1, column=1)root.mainloop()

運行結果:

python tkinter Entry控件的焦點移動操作

設置grid(row=0),在沒有設置column=x的情況下,系統自動設置column=0

使用show 參數隱藏輸入的字符

其實Entry控件具有可以使用show參數設置隱藏輸入字符的特性,所以也常被應用在用于輸入密碼的時候

例子:密碼的輸入,用*隱藏

import tkinterroot = tkinter.Tk()label1 = tkinter.Label(root, text='賬號 :')label2 = tkinter.Label(root, text='密碼 :')label1.grid(row=0)label2.grid(row=1)entry1 = tkinter.Entry(root)entry2 = tkinter.Entry(root, show='*')entry1.grid(row=0, column=1)entry2.grid(row=1, column=1)root.mainloop()

運行結果:

python tkinter Entry控件的焦點移動操作

Entry 的 get 方法

Entry 有一個get()方法,可以利用這個方法來獲取目前Entry 的字符串內容

import tkinterdef getValue(): print('賬號為{}, 密碼為{}'.format(entry1.get(), entry2.get()))root = tkinter.Tk()label1 = tkinter.Label(root, text='賬號 :')label2 = tkinter.Label(root, text='密碼 :')label1.grid(row=0)label2.grid(row=1)entry1 = tkinter.Entry(root)entry2 = tkinter.Entry(root, show='*')entry1.grid(row=0, column=1)entry2.grid(row=1, column=1)buttonLogin = tkinter.Button(root, text='登錄', command=getValue)buttonExit = tkinter.Button(root, text='退出', command=root.quit)buttonLogin.grid(row=2, column=0, sticky=tkinter.W, padx=20)buttonExit.grid(row=2, column=1)root.mainloop()

運行結果:

python tkinter Entry控件的焦點移動操作

我們輸入賬號密碼,點擊登錄

賬號為123456, 密碼為132456

控制臺就出現了我們所需要的的信息

Entry 的 insert() 方法

在設計GUI程序時,常常需要在建立Entry的文本框內默認建立輸入文字,在Widget控件中可以使用insert(index, s)方法插入字符串

其中s是所插入的字符串,字符串會插在index位置

例子:建立默認文字內容

import tkinterdef getValue(): print('賬號為{}, 密碼為{}'.format(entry1.get(), entry2.get()))root = tkinter.Tk()label1 = tkinter.Label(root, text='賬號 :')label2 = tkinter.Label(root, text='密碼 :')label1.grid(row=0)label2.grid(row=1)entry1 = tkinter.Entry(root)entry2 = tkinter.Entry(root, show='*')# 默認賬號內容entry1.insert(0, '123456')# 默認密碼內容entry2.insert(0, '123456')entry1.grid(row=0, column=1)entry2.grid(row=1, column=1)buttonLogin = tkinter.Button(root, text='登錄', command=getValue)buttonExit = tkinter.Button(root, text='退出', command=root.quit)buttonLogin.grid(row=2, column=0, sticky=tkinter.W, padx=20)buttonExit.grid(row=2, column=1)root.mainloop()

運行結果:

python tkinter Entry控件的焦點移動操作

Entry 的 delete() 方法

在tkinter模塊的應用中可以使用delete(first, last=None)方法刪除Entry內的從第first字符到last-1字符間的字符串,如果要刪除整個字符串可以使用delete(0, END)

如果刪除倒數第一個,我們可以用len()方法判斷長度,然后長度減一就行

例子:單擊刪除按鈕清空文本框內容

import tkinterdef getValue(): print('賬號為{}, 密碼為{}'.format(entry1.get(), entry2.get()))# 刪除的方法def deleteValue(): entry1.delete(0, tkinter.END) entry2.delete(0, tkinter.END)root = tkinter.Tk()label1 = tkinter.Label(root, text='賬號 :')label2 = tkinter.Label(root, text='密碼 :')label1.grid(row=0)label2.grid(row=1)entry1 = tkinter.Entry(root)entry2 = tkinter.Entry(root, show='*')# 默認賬號內容entry1.insert(0, '123456')# 默認密碼內容entry2.insert(0, '123456')entry1.grid(row=0, column=1)entry2.grid(row=1, column=1)buttonLogin = tkinter.Button(root, text='登錄', command=getValue)# 調用刪除的方法buttonExit = tkinter.Button(root, text='刪除', command=deleteValue)buttonLogin.grid(row=2, column=0, sticky=tkinter.W, padx=20)buttonExit.grid(row=2, column=1)root.mainloop()

運行結果:

python tkinter Entry控件的焦點移動操作

例子:刪除最后一個

def deleteValue(): len_entry = len(entry1.get()) entry1.delete(len_entry - 1) entry2.delete(0, tkinter.END)

運行結果:

python tkinter Entry控件的焦點移動操作

如果只有一個參數的話,那這個參數將是first,如不是last,len_entry - 1相當于是從到底第一個開始刪除,一直到末尾

計算數學表達式使用 eval()

Python有一個非常好用的計算數學表達式的函數eval

該函數可以直接傳回此數學表達式的計算結果,它的語法格式:

'''expression為字符串'''result = eval(expression)

例子:

import tkinterdef getValue(): try:value = eval(entry.get())label2.configure(text='計算結果為:' + str(value)) except:passroot = tkinter.Tk()label = tkinter.Label(root, text='請輸入數學表達式:')label.pack(anchor=tkinter.W)entry = tkinter.Entry(root)entry.pack(pady=5)label2 = tkinter.Label(root)label2.pack()button = tkinter.Button(root, text='計算', command=getValue)button.pack(pady=5)root.mainloop()

運行結果:

python tkinter Entry控件的焦點移動操作

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美日一级片 | 国产精品九九九 | 狠狠av| 蜜桃免费一区二区三区 | 亚洲精品国产电影 | 综合久久精品 | 天天精品视频免费观看 | 久久精品在线视频 | 黄a一级 | 国产精品久久9 | 涩涩操| 午夜在线视频免费观看 | 9色网站| 久草久| 亚洲久久 | 国产精品久久久久久吹潮 | 超碰伊人网 | 久久韩国 | 中文字幕在线三区 | 国产亚洲欧美一区二区三区 | 色婷婷一区二区三区四区 | 色婷婷av久久久久久久 | 黑人精品xxx一区一二区 | 国产成人精品久久二区二区91 | 日韩一区电影 | 午夜久久网站 | 久久99深爱久久99精品 | 男女视频网站 | 久久精品网| 亚洲国产精品精华液com | 精品国产依人香蕉在线精品 | 福利视频二区 | 国产精品一区二区在线 | 日韩欧美国产一区二区三区 | 国产日韩欧美 | 婷婷在线视频 | 精品国产青草久久久久福利 | 毛片网站在线 | 国产日韩精品视频 | 亚洲九九| 亚洲欧洲av在线 |