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()

 运行效果

 

posted @ 2019-03-11 08:55  happy_xiaoxiao  Views(1898)  Comments(0Edit  收藏  举报