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()
运行效果