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

Python tkinter庫(kù)實(shí)現(xiàn)登錄注冊(cè)基本功能

 更新時(shí)間:2022年12月30日 11:46:57   作者:破壁人x  
Python自帶了tkinter模塊,實(shí)質(zhì)上是一種流行的面向?qū)ο蟮腉UI工具包 TK 的Python編程接口,提供了快速便利地創(chuàng)建GUI應(yīng)用程序的方法,下面這篇文章主要給大家介紹了關(guān)于tkinter庫(kù)制作一個(gè)簡(jiǎn)單的登錄注冊(cè)小程序,需要的朋友可以參考下

tkinter庫(kù)作為python的標(biāo)準(zhǔn)庫(kù)之一,它的功能性十分強(qiáng)大,下面我將使用tkinter庫(kù)制作一個(gè)簡(jiǎn)易的注冊(cè)登錄窗口(很難看就是了)。

一、各種組件的布局

制作之前需要大致明白各個(gè)窗體的大致位置,登錄注冊(cè)嘛 自然就要有用戶名和密碼的標(biāo)簽以及需要輸入文字的文本框。

'創(chuàng)建用戶名的標(biāo)簽'
Label(root,text='用戶名',width = 6,font=('華文行楷',20)).place(x=1,y=1)
'用戶名后面的輸入框'
user = Entry(root,width=20,textvariable = user1).place(x=100,y=1)   
'創(chuàng)建密碼的標(biāo)簽'
Label(root,text = '密碼',width = 6,font=('華文行楷',20)).place(x=1,y=45)
'密碼后面的輸入框'
password = Entry(root,width =20,textvariable = password1 ).place(x=100,y=45)
'創(chuàng)建兩個(gè)按鈕 用command參數(shù)使得在點(diǎn)擊按鈕時(shí)運(yùn)行對(duì)應(yīng)的函數(shù)'
Button(root,text = '登錄',width = 8,command= login).place(x=40,y=100)
Button(root,text = '注冊(cè)',width = 8,command=zhuce).place(x=110,y=100)

在這個(gè)基礎(chǔ)上我還加了登錄 注冊(cè)兩個(gè)按鈕 用于后面的登錄注冊(cè)的操作

二、制作過(guò)程中的理解

如果想要做到登錄注冊(cè)的操作,首先需要有一個(gè)儲(chǔ)存用戶名和密碼的東西,登錄時(shí)輸入的文本如果在這個(gè)東西里面說(shuō)明用戶名密碼都正確 就能完成登錄,注冊(cè)時(shí)輸入的文本也能夠儲(chǔ)存在里面,要做到這些,字典是個(gè)不二選擇,因?yàn)樗兄?lsquo;鍵值:內(nèi)容’的結(jié)構(gòu),非常適合儲(chǔ)存用戶名和密碼

users_pw = {'admin':'123456'} #一個(gè)空字典 默認(rèn)用戶名密碼為admin 123456

創(chuàng)建一個(gè)空字典,我們可以設(shè)置一組數(shù)據(jù)作為默認(rèn)用戶名密碼。

創(chuàng)建了一個(gè)儲(chǔ)存數(shù)據(jù) 的字典還不夠,我們要做到登錄注冊(cè)的效果還需要’登錄‘,’注冊(cè)‘這兩個(gè)按鈕的作用,當(dāng)我們點(diǎn)擊注冊(cè)按鈕時(shí),程序會(huì)捕捉到這個(gè)操作,并且執(zhí)行相應(yīng)的操作。

'鼠標(biāo)點(diǎn)擊登錄時(shí)會(huì)執(zhí)行的操作'
def login():
    if users in users_pw :
        if passwords == users_pw[users]:
            print('登錄成功')
        else:
            print('登錄失敗')
    else:
        print('沒(méi)有該用戶')
 
Button(root,text = '登錄',width = 8,command= login).place(x=40,y=100)
Button(root,text = '注冊(cè)',width = 8,command=zhuce).place(x=110,y=100)

注冊(cè)同理 當(dāng)然這段代碼是執(zhí)行不了的只是提供個(gè)思路 具體后面會(huì)說(shuō) 通過(guò)按鈕Button方法中的command參數(shù)我們就可以在點(diǎn)擊按鈕時(shí)調(diào)用我們事先寫(xiě)好的函數(shù)。

三、制作過(guò)程中遇到的難點(diǎn)

在制作過(guò)程中遇到過(guò)一些難題,比如如何獲取文本框中用戶輸入的東西。

四、解決問(wèn)題的方法

我查閱了很多資料,終于找到了方法,就是在Entry控件中的textvariable參數(shù) 它可以把這個(gè)輸入框?qū)ο蟮哪硞€(gè)屬性綁定給一個(gè)變量 然后通過(guò)<變量>.StringVar() 方法獲取輸入框中的內(nèi)容。

users = user1.get()      #獲取user1中存儲(chǔ)的文本框中的內(nèi)容
user = Entry(root,width=20,textvariable = user1).place(x=100,y=1)      
#textvariable參數(shù)的使用是把文本框中的內(nèi)容傳遞給變量的關(guān)鍵

這個(gè)難題解決后,之后的工作也就簡(jiǎn)單了,只需要把每個(gè)控件的位置,參數(shù)調(diào)整一下就可以了。

完整代碼以及運(yùn)行結(jié)果如下:

#place布局.py
from tkinter import *  #導(dǎo)入tkinter庫(kù)
users_pw = {'admin':'123456'}   #一個(gè)空字典 默認(rèn)用戶名密碼為admin 123456
'點(diǎn)擊登錄按鈕執(zhí)行的函數(shù)'
def login():
    def close():
        window.destroy()
    users = user1.get()
    passwords = password1.get()
    if users in users_pw :
        if passwords == users_pw[users]:
            window = Tk()
            window.title ('恭喜!')
            window.geometry('200x180+200+200')
            label = Label(window,text = '登錄成功',font=('華文行楷',20))
            label.pack()
            button = Button(window,text ='關(guān)閉',font=('華文行楷',20),command=close)
            button.pack()
 
        else:
            window = Tk()
            window.title('錯(cuò)誤!')
            window.geometry('200x180+200+200')
            label = Label(window,text='登錄失敗',font=('華文行楷',20))
            label.pack()
            button = Button(window,text='關(guān)閉',font=('華文行楷',20), command=close)
            button.pack()
    else:
        print('沒(méi)有該用戶')
'點(diǎn)擊注冊(cè)按鈕執(zhí)行的函數(shù)'
def zhuce():
    def close():
        window.destroy()
    users = user1.get()      #獲取user1中存儲(chǔ)的文本框中的內(nèi)容
    passwords = password1.get() #同上
    if (users =='') or (passwords == ''):
        window = Tk()
        window.title('錯(cuò)誤!')
        window.geometry('200x180+200+200')
        label = Label(window, text='注冊(cè)失敗', font=('華文行楷', 20))
        label.pack()
        button = Button(window, text='關(guān)閉', font=('華文行楷', 20), command=close)
        button.pack()
 
    elif users in users_pw:
        window = Tk()
        window.title('錯(cuò)誤!')
        window.geometry('200x180+200+200')
        label = Label(window, text='注冊(cè)失敗已有此用戶名', font=('華文行楷', 20))
        label.pack()
        button = Button(window, text='關(guān)閉', font=('華文行楷', 20), command=close)
        button.pack()
    else:
        users_pw[users] = passwords
        window = Tk()
        window.title('恭喜!')
        window.geometry('200x180+200+200')
        label = Label(window, text='注冊(cè)成功', font=('華文行楷', 20))
        label.pack()
        button = Button(window, text='關(guān)閉', font=('華文行楷', 20), command=close)
        button.pack()
'窗口創(chuàng)建'
root = Tk()
root.title('登錄')
root.geometry('300x300')
root.config(bg = '#ffcc00')
'創(chuàng)建兩個(gè)文本輸入框 并用StringVar()把文本框中的內(nèi)容跟user1 password1綁定'
user1 = StringVar ()
password1 =StringVar()
Label(root,text='用戶名',width = 6,font=('華文行楷',20)).place(x=1,y=1)
user = Entry(root,width=20,textvariable = user1).place(x=100,y=1)      #textvariable參數(shù)的使用是把文本框中的內(nèi)容傳遞給變量的關(guān)鍵
Label(root,text = '密碼',width = 6,font=('華文行楷',20)).place(x=1,y=45)
password = Entry(root,width =20,textvariable = password1 ).place(x=100,y=45)
'創(chuàng)建兩個(gè)按鈕 用command參數(shù)使得在點(diǎn)擊按鈕時(shí)運(yùn)行對(duì)應(yīng)的函數(shù)'
Button(root,text = '登錄',width = 8,command= login).place(x=40,y=100)
Button(root,text = '注冊(cè)',width = 8,command=zhuce).place(x=110,y=100)
root.mainloop()  #顯示窗口

到此這篇關(guān)于Python tkinter庫(kù)實(shí)現(xiàn)登錄注冊(cè)基本功能的文章就介紹到這了,更多相關(guān)Python tkinter登錄注冊(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python控制臺(tái)輸出時(shí)刷新當(dāng)前行內(nèi)容而不是輸出新行的實(shí)現(xiàn)

    Python控制臺(tái)輸出時(shí)刷新當(dāng)前行內(nèi)容而不是輸出新行的實(shí)現(xiàn)

    今天小編就為大家分享一篇Python控制臺(tái)輸出時(shí)刷新當(dāng)前行內(nèi)容而不是輸出新行的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python常問(wèn)的100個(gè)面試問(wèn)題匯總(下篇)

    Python常問(wèn)的100個(gè)面試問(wèn)題匯總(下篇)

    這篇文章主要介紹了Python常問(wèn)的100個(gè)面試問(wèn)題匯總(下篇),文章內(nèi)容詳細(xì),簡(jiǎn)單易懂,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2023-01-01
  • 淺談pyqt5中信號(hào)與槽的認(rèn)識(shí)

    淺談pyqt5中信號(hào)與槽的認(rèn)識(shí)

    這篇文章主要介紹了淺談pyqt5中信號(hào)與槽的認(rèn)識(shí),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • Python 語(yǔ)句的表達(dá)式和縮進(jìn)

    Python 語(yǔ)句的表達(dá)式和縮進(jìn)

    本篇文章將會(huì)使大家了解Python 語(yǔ)句、表達(dá)式以及它們之間的區(qū)別。還包含幾個(gè)示例來(lái)更清楚地解釋這個(gè)概念。接下來(lái),我們將解釋如何在 Python 編程中使用多行語(yǔ)句和縮進(jìn),需要的朋友可以參考一下
    2021-09-09
  • 深入了解Python中的變量

    深入了解Python中的變量

    這篇文章主要為大家介紹了Python的變量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Python中dict排序的兩種方法

    Python中dict排序的兩種方法

    字典本身是無(wú)序的,所以它每次輸出都是不一樣的,順序都是亂的,那么字典如何排序,本文主要介紹了Python中dict排序的兩種方法,感興趣的可以了解一下
    2024-01-01
  • 淺談解除裝飾器作用(python3新增)

    淺談解除裝飾器作用(python3新增)

    今天小編就為大家分享一篇淺談解除裝飾器作用(python3新增),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python實(shí)現(xiàn)的HMacMD5加密算法示例

    Python實(shí)現(xiàn)的HMacMD5加密算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的HMacMD5加密算法,簡(jiǎn)單說(shuō)明了HMAC-MD5加密算法的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)HMAC-MD5加密算法的相關(guān)操作技巧,,末尾還附帶了Java實(shí)現(xiàn)HMAC-MD5加密算法的示例,需要的朋友可以參考下
    2018-04-04
  • 利用pytorch實(shí)現(xiàn)對(duì)CIFAR-10數(shù)據(jù)集的分類

    利用pytorch實(shí)現(xiàn)對(duì)CIFAR-10數(shù)據(jù)集的分類

    今天小編就為大家分享一篇利用pytorch實(shí)現(xiàn)對(duì)CIFAR-10數(shù)據(jù)集的分類,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取

    Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取

    這篇文章主要介紹了Python探針完成調(diào)用庫(kù)的數(shù)據(jù)提取,Python中可以通過(guò)sys.meta_path來(lái)實(shí)現(xiàn)import?hook的功能,下文詳細(xì)資料介紹,需要的小伙伴可以參考一下
    2022-05-05

最新評(píng)論

怀远县| 永吉县| 库车县| 屏山县| 临夏市| 禹城市| 大埔区| 台中市| 临夏市| 且末县| 博客| 启东市| 新巴尔虎右旗| 云阳县| 招远市| 阜平县| 万荣县| 大方县| 新丰县| 桂平市| 盘山县| 昌宁县| 西乌珠穆沁旗| 万安县| 烟台市| 峨山| 永兴县| 邢台市| 汝州市| 特克斯县| 玉树县| 禹城市| 达拉特旗| 靖边县| 鄂伦春自治旗| 堆龙德庆县| 娄底市| 天峻县| 饶河县| 桃园市| 屏边|