电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

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

話不多說(shuō)。

代碼片:

# -*- 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類(lèi)不能直接傳遞參數(shù),需要lambdadef focus_cg(event,e2): e2.focus_set() #焦點(diǎn)移到e2def handlerAdaptor(fun, **kwds):#事件處理函數(shù)的適配器,相當(dāng)于中介,那個(gè)event是從那里來(lái)的呢,我也納悶,這也許就是python的偉大之處吧 return lambda event,fun=fun,kwds=kwds: fun(event, **kwds) if __name__ == ’__main__’: root = Tk() app=App(root) root.mainloop()

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

不使用全局變量的方法:

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

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

補(bǔ)充:Python之tkinter 文本框Entry的基本應(yīng)用

Entry簡(jiǎn)介

所謂的文本框Entry,通常是指單行的文本框,在GUI程序設(shè)計(jì)中,這是用于輸入的最基本控件,我們可以使用它輸入單行字符串,如果所輸入的字符串長(zhǎng)度大于文本框的寬度,所輸入的文字會(huì)自動(dòng)隱藏,造成部分內(nèi)容無(wú)法顯示,碰到這種狀況時(shí)可以使用箭頭鍵移動(dòng)鼠標(biāo)光標(biāo)到看不到的區(qū)域。

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

它的語(yǔ)法格式:

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

第一個(gè)參數(shù):父對(duì)象,表示這個(gè)文本框?qū)⒔⒃谀囊粋€(gè)窗口內(nèi)

第二個(gè)參數(shù):options,參數(shù)如下

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

例子:建立標(biāo)簽和文本框,輸入姓名和地址

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()

運(yùn)行結(jié)果:

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

設(shè)置grid(row=0),在沒(méi)有設(shè)置column=x的情況下,系統(tǒng)自動(dòng)設(shè)置column=0

使用show 參數(shù)隱藏輸入的字符

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

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

import tkinterroot = tkinter.Tk()label1 = tkinter.Label(root, text='賬號(hào) :')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()

運(yùn)行結(jié)果:

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

Entry 的 get 方法

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

import tkinterdef getValue(): print('賬號(hào)為{}, 密碼為{}'.format(entry1.get(), entry2.get()))root = tkinter.Tk()label1 = tkinter.Label(root, text='賬號(hào) :')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()

運(yùn)行結(jié)果:

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

我們輸入賬號(hào)密碼,點(diǎn)擊登錄

賬號(hào)為123456, 密碼為132456

控制臺(tái)就出現(xiàn)了我們所需要的的信息

Entry 的 insert() 方法

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

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

例子:建立默認(rèn)文字內(nèi)容

import tkinterdef getValue(): print('賬號(hào)為{}, 密碼為{}'.format(entry1.get(), entry2.get()))root = tkinter.Tk()label1 = tkinter.Label(root, text='賬號(hào) :')label2 = tkinter.Label(root, text='密碼 :')label1.grid(row=0)label2.grid(row=1)entry1 = tkinter.Entry(root)entry2 = tkinter.Entry(root, show='*')# 默認(rèn)賬號(hào)內(nèi)容entry1.insert(0, '123456')# 默認(rèn)密碼內(nèi)容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()

運(yùn)行結(jié)果:

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

Entry 的 delete() 方法

在tkinter模塊的應(yīng)用中可以使用delete(first, last=None)方法刪除Entry內(nèi)的從第first字符到last-1字符間的字符串,如果要?jiǎng)h除整個(gè)字符串可以使用delete(0, END)

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

例子:?jiǎn)螕魟h除按鈕清空文本框內(nèi)容

import tkinterdef getValue(): print('賬號(hào)為{}, 密碼為{}'.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='賬號(hào) :')label2 = tkinter.Label(root, text='密碼 :')label1.grid(row=0)label2.grid(row=1)entry1 = tkinter.Entry(root)entry2 = tkinter.Entry(root, show='*')# 默認(rèn)賬號(hào)內(nèi)容entry1.insert(0, '123456')# 默認(rèn)密碼內(nèi)容entry2.insert(0, '123456')entry1.grid(row=0, column=1)entry2.grid(row=1, column=1)buttonLogin = tkinter.Button(root, text='登錄', command=getValue)# 調(diào)用刪除的方法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()

運(yùn)行結(jié)果:

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

例子:刪除最后一個(gè)

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

運(yùn)行結(jié)果:

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

如果只有一個(gè)參數(shù)的話,那這個(gè)參數(shù)將是first,如不是last,len_entry - 1相當(dāng)于是從到底第一個(gè)開(kāi)始刪除,一直到末尾

計(jì)算數(shù)學(xué)表達(dá)式使用 eval()

Python有一個(gè)非常好用的計(jì)算數(shù)學(xué)表達(dá)式的函數(shù)eval

該函數(shù)可以直接傳回此數(shù)學(xué)表達(dá)式的計(jì)算結(jié)果,它的語(yǔ)法格式:

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

例子:

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

運(yùn)行結(jié)果:

python tkinter Entry控件的焦點(diǎn)移動(dòng)操作

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 权威废金属|废塑料|废纸|废铜|废钢价格|再生资源回收行情报价中心-中废网 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 真空包装机-诸城市坤泰食品机械有限公司 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 学生作文网_中小学生作文大全与写作指导 | 南京欧陆电气股份有限公司-风力发电机官网 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 考试试题_试卷及答案_诗词单词成语 - 优易学 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 小型气象站_车载气象站_便携气象站-山东风途物联网 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | LED投光灯-工矿灯-led路灯头-工业灯具 - 山东普瑞斯照明科技有限公司 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | 首页 - 张店继勇软件开发工作室 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 路面机械厂家| 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 河南凯邦机械制造有限公司| TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 |