Python_tkinter(2)_常用控件


1.Label--標簽(文字/位圖)控件

from tkinter import *
root = Tk()
root.geometry('200x200')
# Label控件 字體、邊框、背景
label1 = Label(root, text="請輸入賬號:", font=('宋體', '10'), relief='groove', borderwidth='2', fg='red')
label1.grid(row=0, column=0, sticky=E)
# 邊框參數:樣式relief(可選值為:flat(默認),sunken,raised,groove,ridge),borderwidth:邊框寬度

# label中插入圖片
photo1 = PhotoImage(file='F:/小圖片/invalid.gif')
label2 = Label(root, image=photo1)
label2.grid(row=0, column=1)

# label同時使用文字和圖片-compound
photo2 = PhotoImage(file='F:/小圖片/11.png')
label3 = Label(root, text='請輸入賬號:', image=photo2, compound='center')
label3.grid(row=1, column=0, columnspan=2, pady='10')

#label文字對齊-justify
label4 = Label(root, text='你走了\n輕輕的\n不留下一片雲彩', justify='left')
label4.grid(row=2, column=0, columnspan=2, pady='10')
root.mainloop()

 

運行效果

 

 

 2.Entry--輸入框

from tkinter import *
root = Tk()
# Entry-單行文本框控件
entry1 = Entry(root, width='30', bd='1', font=('宋體', '10'))
entry1.grid(row=0, padx='20', pady='10')

entry2 = Entry(root, width='30', bd='1', font=('宋體', '10'))
entry2.insert('insert', '請輸入')  # Entry默認值
entry2.grid(row=1, padx='20', pady='10')

root.mainloop()

運行效果

 常用方法:

entry2.delete(0, tk.END)  # 刪除Entry組件的內容
entry2.get()  # 獲取Entry組件的內容
entry2.insert(0, 'hello')  # 插入內容

 

3.Button--按鈕控件

from tkinter import *
root = Tk()

def test():
    return

btn = Button(root, text='按 鈕', fg='red', bg='yellow', command=test(), width='10')
btn.grid(sticky=E, padx='20', pady='20')
root.mainloop()

 運行效果

 

4.Text--文本框

from tkinter import *
root = Tk()

text1 = Text(root, width='45', height='10')
text1.grid(row=0, padx='20', pady='20')
text1.insert(END, "hello\n")  # END表示在最后插入;INSERT表示在光標處插入
text1.update()
text1.get(1.0, END) # 獲取Text內容
text1.delete(1.0, END)  # 清除Text所有內容
'''
1.行列表示法1:'1.0' 表示第一行第一列,注意行號以1開始,列號以0開始
2.行列表示法2:"%d.%d" %(line,column)
3.tk.END/tk.end表示Text文本緩沖區最后一個字符的下一個位置。
4.line.end 表示某一行的最后,如1.end表示第一行的最后字符的位置***
'''
root.mainloop()

 運行效果

 

5. Checkbutton---多選框

from tkinter import *
root = Tk()

checkbutton1 = Checkbutton(root, text='選擇一')
checkbutton1.grid(padx='10', pady='10')
checkbutton2 = Checkbutton(root, text='選擇二')
checkbutton2.grid(padx='10', pady='10')

root.mainloop()

運行效果 

6. Radiobutton---單選框

import tkinter
from tkinter import *
root = Tk()
radiobtn = Radiobutton(root,text='單選項')
radiobtn.pack()
root.mainloop()

 運行效果

 

7.Listbox---列表框

import tkinter
from tkinter import *

root = Tk()
listbox1 = Listbox(root, height='8')
name_list = ['Jack','Michael','Tom','Ingrid','Jack','Michael','Tom','Ingrid']

for i in name_list:
    listbox1.insert(END,i)
    
listbox1.grid(row=0,column=0)

root.mainloop()

 運行效果

8.Scrollbar---滾動條

import tkinter
from tkinter import *

root = Tk()
scrollbar1 = Scrollbar(root)
scrollbar1.grid(row=0, column=1, ipady='60')
listbox1 = Listbox(root, height='8', yscrollcommand = scrollbar1.set)
name_list = ['Jack','Michael','Tom','Ingrid','Jack','Michael','Tom','Ingrid''Jack','Michael',
             'Tom','Ingrid','Jack','Michael','Tom','Ingrid', 'Jack','Michael','Tom','Ingrid','Jack','Michael','Tom','Ingrid']

for i in name_list:
    listbox1.insert(END,i)
    
listbox1.grid(row=0,column=0)
scrollbar1.config(command = listbox1.yview)
root.mainloop()

 運行效果

 


免責聲明!

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



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