tkinter的Entry設置默認值的效果


用Python的tkinter庫做GUI程序,Entry控件被我們用來獲取用戶的輸入,不過很多時候,我們希望GUI界面上的Entry控件能有默認值,用戶可以修改默認值,也可以不修改。默認值提高了軟件的易用性。

直接看代碼:

import tkinter as tk

root = tk.Tk()
lb = tk.Label(root, text='網址:')
lb.grid(row=0,column=0)
addr = tk.StringVar(value='https://www.pynote.net')
en = tk.Entry(root, textvariable=addr)
en.grid(row=0,column=1)
root.mainloop()
  
  
  
          

定義addr為tk.StringVar變量,在定義的時候,設置其value為某一個值,這個值就是默認值。在創建Entry控件的時候,使用textvariable參數指向addr。以上程序運行的效果如下:

Entry控件的默認值
Entry控件的默認值

還有一種設置默認值的寫法,使用tk.StringVar對象的set函數,代碼如下:

import tkinter as tk

root = tk.Tk()
lb = tk.Label(root, text='網址:')
lb.grid(row=0,column=0)
addr = tk.StringVar()
addr.set('https://www.maixj.net')
en = tk.Entry(root, textvariable=addr)
en.grid(row=0,column=1)
root.mainloop()

  
  
  
          

set函數設置值,get函數獲取值。

以上示例都是使用tk.StringVar對象,其它類型的tk對象同理。給Entry控件設置默認值,就是這么簡單!

現在給出第3中實現Entry控件默認值的方法,使用Entry控件自身的insert函數,代碼如下:

import tkinter as tk

root = tk.Tk()
lb = tk.Label(root, text='網址:')
lb.grid(row=0,column=0)
addr = tk.StringVar()
en = tk.Entry(root, textvariable=addr)
en.insert(0, 'www.pynote.net')
en.grid(row=0,column=1)
root.mainloop()
  
  
  
          

以上代碼,addr沒有設置初始值,不過entry對象自己使用了insert函數,顧名思義,就是在Entry控件的可輸入控件輸入值。insert函數的第1個參數是0,表示從最開始的位置插入,如果是INSERT,表示從光標所在位置插入,如果是END,表示在末尾插入。

本文用3種方式,實現了tkinter的Entry設置默認值的效果,請同學們各取所需。

-- EOF --


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM