最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3.7.2 tkinter entry框限定輸入數(shù)字的操作

 更新時(shí)間:2021年05月22日 11:28:51   作者:kkqqnnd135  
這篇文章主要介紹了python3.7.2 tkinter entry框限定輸入數(shù)字的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

網(wǎng)上找了挺久,感覺方法都不合適我這新手,想了個(gè)歪點(diǎn)子

from tkinter import *
from tkinter import messagebox
root=Tk()
def com():
    try:
        float(e1.get())#獲取e1的值,轉(zhuǎn)為浮點(diǎn)數(shù),如果不能轉(zhuǎn)捕獲異常
        l1.config(text=e1.get())
    except:
        messagebox.showwarning('警告','請(qǐng)輸入數(shù)字')
e1=Entry(root)
e1.pack()
Button(root,text='獲取',command=com).pack()
l1=Label(root,text='只能數(shù)字')
l1.pack()
mainloop()

補(bǔ)充:python Entry 文本框只能輸入數(shù)字或限定數(shù)字顯示

先給大家看代碼,表示對(duì)大家急切想法的尊敬,如果你著急用,直接拿去,不明白的話回來再看看后續(xù),我爭取講的明白,我也是一個(gè)小白,我只能按照我自己的意思去寫,如果有補(bǔ)充或者修改請(qǐng)聯(lián)系我,也請(qǐng)不要完全相信我,我不喜歡把你們帶到歧途!?。?/p>

import tkinter#界面繪制前初始化TK()
from tkinter import *
from PIL import Image,ImageTk
from tkinter import messagebox
#打開指定的圖片文件,縮放至指定尺寸
def get_image(filename,width,height):
    im = Image.open(filename).resize((width,height))
    return ImageTk.PhotoImage(im)
win  = tkinter.Tk() #初始化TK() 創(chuàng)建主窗口
#設(shè)置標(biāo)題
win.title("至多和")
#設(shè)置界面在中間啟動(dòng)
def center_window(w,h):
    #獲取屏幕高和寬
    ws = win.winfo_screenwidth()
    hs = win.winfo_screenheight()
    #計(jì)算x,y位置
    x = (ws/2) - (w/2)
    y = (hs/2) - (h/2)
    win.geometry("%dx%d+%d+%d" %(w,h,x,y)) #設(shè)置位置和大小
center_window(300,200) #設(shè)置界面大小
win.resizable(False,False)  #固定其窗口的大小 也可以允許更改大小,改為TRUE 就可以
#創(chuàng)建畫布,設(shè)置要顯示的圖片,把畫布添加至應(yīng)用程序窗口
canvas_win = tkinter.Canvas(win,width=300,height=200)
im_win = get_image('小貓啟動(dòng)界面.jpg',300,200)#設(shè)置圖片的大小
canvas_win.create_image(150,100,image=im_win)
canvas_win.pack()
#設(shè)置圖標(biāo)
win.iconbitmap(".\\bitbug_favicon.ico")
#設(shè)置文本只能輸入數(shù)字
def test(content):
    # 如果不加上==""的話,就會(huì)發(fā)現(xiàn)刪不完??倳?huì)剩下一個(gè)數(shù)字 isdigit函數(shù):isdigit函數(shù)方法檢測(cè)字符串是否只由數(shù)字組成。
    if content.isdigit() or content == "":
        return True
    else:
        return False
def number():
    int
##顯示文本框作為輸入框,以及標(biāo)簽作為信息
lable1 = Label(win,text="賬號(hào):",)
lable1.place(x=60,y=30)
v = StringVar()  #跟蹤變量的值的變化,以保證值的變更隨時(shí)可以顯示在界面上
test_cmd = win.register(test)  # 需要將函數(shù)包裝一下,必要的
textEntry1 = Entry(win,bd=0,font=("華文彩云",12),relief=RIDGE,bg="lightcyan",
                    textvariable = v,  #文本框的值,是一個(gè)StringVar()對(duì)象 ,這樣與StringVar 就能更新
                    validate = "key",  # 發(fā)生任何變動(dòng)的時(shí)候,就會(huì)調(diào)用validatecommand 這個(gè)調(diào)動(dòng)受后面‘Key'影響,類似鍵盤監(jiān)聽 如果換成“'focusout'"就是光標(biāo)
                    validatecommand = (test_cmd, '%P')  # %P代表輸入框的實(shí)時(shí)內(nèi)容 # %P表示 當(dāng)輸入框的值允許改變,該值有效。該值為當(dāng)前文本框內(nèi)容 # %v(小寫大寫不一樣的),當(dāng)前validate的值  # %W表示該組件的名字
)
textEntry1.place(x=100,y=30,width=130,height=25)
lable2 = Label(win,text="密碼:")
lable2.place(x=60,y=60)
textEntry2 = Entry(win,bd=0,font=("華文彩云"),relief=RIDGE,bg="lightcyan")
textEntry2.place(x=100,y=60,width=130)
win.mainloop()

上面是我的代碼 運(yùn)行后是這樣的:

在這里插入圖片描述

當(dāng)你輸入數(shù)字后,我賬號(hào)的文本框是可以限定的,密碼的還沒做,我是想把密碼設(shè)置成“*”,也非常簡單先給看一下兩個(gè)文本框輸入數(shù)字不同的情況:

在這里插入圖片描述

我先給大家介紹幾個(gè)函數(shù)分別是:

1、StringVar()函數(shù):

跟蹤變量的值的變化,以保證值的變更隨時(shí)可以顯示在界面上。通過我的查找,這個(gè)函數(shù)存在Tk模塊中,其他的我還沒有查到,這個(gè)是為了能隨時(shí)更新文本框內(nèi)的內(nèi)容,所以這個(gè)函數(shù)要用到

2、textvariable:

這個(gè)函數(shù)在Entry的括號(hào)內(nèi)出現(xiàn)的,這個(gè)是和StringVar進(jìn)行配合,然后進(jìn)行更新內(nèi)容。

3、validate和validatecommand:

這兩個(gè)函數(shù),講真我還沒有發(fā)現(xiàn)能分開用,一個(gè)類似于驅(qū)動(dòng),一個(gè)就是類似于被驅(qū)動(dòng)后的命令,validate就是驅(qū)動(dòng)著validatecommand,也可以說來就是調(diào)用。

validate他的值當(dāng)然可以有很多的,我就說兩個(gè)一個(gè)是等于Key也就是代碼中的key就是為了鍵盤監(jiān)聽吧,另一個(gè)是focusout屬于光標(biāo)監(jiān)聽,只要有動(dòng)作,就會(huì)調(diào)用validatecommand函數(shù),他有兩個(gè)變量:一個(gè)是調(diào)用另一個(gè)函數(shù),另一個(gè):

%P表示 當(dāng)輸入框的值允許改變,該值有效。該值為當(dāng)前文本框內(nèi)容

%v(小寫大寫不一樣的),當(dāng)前validate的值

%W表示該組件的名字

4、isdigit函數(shù):

isdigit函數(shù)方法檢測(cè)字符串是否只由數(shù)字組成。

5、win.register(test):

這個(gè)函數(shù)解釋有很多,

第一個(gè):是python抽象類—register注冊(cè)虛擬子類

第二:register修飾符暗示編譯程序相應(yīng)的變量將被頻繁地使用,如果可能的話,應(yīng)將其zhi保存在CPU的寄存器中,以加快其存儲(chǔ)速度。這個(gè)關(guān)鍵字請(qǐng)求編譯器盡可能的將變量存在CPU內(nèi)部寄存器中而不是通過內(nèi)存尋址訪問以提高效率。

而我們只是為了讓他包裝一下,讓其函數(shù)進(jìn)行回調(diào),和用于注冊(cè)程序退出時(shí)的回調(diào)函數(shù),然后在回調(diào)函數(shù)中做一些資源操作

附:

在TK中是不允許框架背景透明化,比如我剛開始一直想讓text或者標(biāo)簽背景透明,這樣的話就會(huì)讓界面更加好看,試了幾種不同的方法,什么改背景色等等,但是都不可以,唯一可行的話就是麻煩一點(diǎn),利用PS處理,就是P出圖片,然后給標(biāo)簽或者文本框給予背景,但是相對(duì)于麻煩

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何解決pytorch訓(xùn)練過程中CPU內(nèi)存溢出問題

    如何解決pytorch訓(xùn)練過程中CPU內(nèi)存溢出問題

    這篇文章主要介紹了如何解決pytorch訓(xùn)練過程中CPU內(nèi)存溢出問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 常見Python AutoEDA工具庫及功能使用探究

    常見Python AutoEDA工具庫及功能使用探究

    AutoEDA(自動(dòng)探索性數(shù)據(jù)分析)工具庫是數(shù)據(jù)科學(xué)中至關(guān)重要的一部分,它們能夠自動(dòng)生成數(shù)據(jù)摘要、探查數(shù)據(jù)的基本特征、檢測(cè)異常值和提供可視化,為數(shù)據(jù)科學(xué)家和分析師們提供了解數(shù)據(jù)的便捷方式,本文為大家介紹常見的AutoEDA工具庫及其功能和示例代碼
    2024-01-01
  • python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法

    python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法

    這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之圖的實(shí)現(xiàn)方法,實(shí)例分析了Python圖的表示方法與常用尋路算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-07-07
  • 對(duì)python中assert、isinstance的用法詳解

    對(duì)python中assert、isinstance的用法詳解

    今天小編就為的就分享一篇對(duì)python中assert、isinstance的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python使用Dash開發(fā)網(wǎng)頁應(yīng)用的方法詳解

    Python使用Dash開發(fā)網(wǎng)頁應(yīng)用的方法詳解

    本文主要是通過Dash的Checklist組件,簡單介紹使用Dash開發(fā)的Web應(yīng)用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-09-09
  • Python多線程與同步機(jī)制淺析

    Python多線程與同步機(jī)制淺析

    線程(Thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位;線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)兒在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源
    2022-12-12
  • Python&Matlab實(shí)現(xiàn)炫酷的3D旋轉(zhuǎn)圖

    Python&Matlab實(shí)現(xiàn)炫酷的3D旋轉(zhuǎn)圖

    這篇文章主要為大家介紹了如何利用Python和Matlab分別實(shí)現(xiàn)酷炫的3D旋轉(zhuǎn)圖,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-04-04
  • 詳解Python如何實(shí)現(xiàn)發(fā)送帶附件的電子郵件

    詳解Python如何實(shí)現(xiàn)發(fā)送帶附件的電子郵件

    SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。本文將利用SMTP實(shí)現(xiàn)發(fā)送帶附件的電子郵件,感興趣的可以了解一下
    2023-04-04
  • python實(shí)現(xiàn)scrapy爬蟲每天定時(shí)抓取數(shù)據(jù)的示例代碼

    python實(shí)現(xiàn)scrapy爬蟲每天定時(shí)抓取數(shù)據(jù)的示例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)scrapy爬蟲每天定時(shí)抓取數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python統(tǒng)計(jì)指定目錄內(nèi)文件的代碼行數(shù)

    python統(tǒng)計(jì)指定目錄內(nèi)文件的代碼行數(shù)

    這篇文章主要介紹了python統(tǒng)計(jì)指定目錄內(nèi)文件的代碼行數(shù)
    2019-09-09

最新評(píng)論

邓州市| 罗城| 白玉县| 龙里县| 东台市| 呈贡县| 珲春市| 封丘县| 阳江市| 彭山县| 丘北县| 民丰县| 弥渡县| 邛崃市| 新兴县| 库尔勒市| 仙游县| 丰都县| 新龙县| 永福县| 公安县| 徐汇区| 平安县| 沙田区| 腾冲县| 大方县| 儋州市| 九台市| 彰化市| 江西省| 交口县| 肃北| 阳春市| 秦皇岛市| 大港区| 麻栗坡县| 枝江市| 阜城县| 綦江县| 买车| 定日县|