您的位置:首页 > 编程语言 > Python开发

【python-GUI-tkinter】控件基础(3.6.2)

2017-12-03 00:20 711 查看
说明每个控件最后要加上pack().否则控件是无法显示的

1.Label标签
用法:Label(根对象,【属性列表】)
属性:
text    要显示的文本

textvariable    变量文本
bg      背景颜色
bd      外围3D边界的宽度
font    字体(颜色、大小)
width   控件宽度
height  控件高度

绑定变量 var=tkinter.StringVar()
   e=Label(根对象,
textvariable = var)

获取文本框中的值   var.get()

设置文本框中的值   var.set(item)

import tkinter

root=tkinter.Tk()

root.title('lesroad')# 设置窗口标题

root.geometry('500x600')# 设置窗口大小 注意:是x 不是*

root.resizable(width=1,height=0)# 设置窗口是否可以变化长/宽,False不可变,True可变,默认为True

l=tkinter.Label(root,text='hello',bg='black',fg='red',font=('Arial',24,'italic'),width=8,height=3,cursor='cross')
# 在对象中添加标签,背景,前景,字体(系列,尺寸,样式),尺寸(一个字符为1),鼠标光标形状

l.pack(side='bottom')# side=TOP或'top'都可以

root.mainloop()# 进入消息循环




趣味实例:

#功能:点击按钮标签显示'you hit me',再点一下消失

import tkinter

root = tkinter.Tk()

root.title('my windows')

root.geometry('300x300')

flag=0

def hit():
global flag
if(flag==0):
var.set('you hit me')# var.set(value)设置值 //var.get()获取值
flag=1
else:
var.set(' ')
flag=0

var=tkinter.StringVar()# 设置var为字符串变量,或用tkinter.Variable()

l=tkinter.Label(root,textvariable=var,bg='green',width=15).pack()# 最好不要接着写pack,Entry会报错

b = tkinter.Button(root,text='hit me',command=hit).pack()

root.mainloop()



          


插入图片(只能gif)

photo=tkinter.PhotoImage(file=r'G:\QQ截图20170920214145.gif')
ip=tkinter.Label(root,image=photo)
ip.pack()


2.Entry输入框

e = tkinter.Entry(root.show='#') #输入的字符全为#,默认为show=None

只能设置width,没有height

绑定变量 var=tkinter.StringVar()    e=Entry(根对象, textvariable = var)
获取文本框中的值   var.get()

设置文本框中的值   var.set(item)
但是不会显示text中的内容

3.Text 文本框

没有text选项。

t = tkinter,Text(root)

t.insert(3.2,var)#在text第一行第一列后加上var

t.insert('insert',var)  #在鼠标光标所指区域加上var

t.insert('end',var)     #在最后加上var

t.delete(2,1)            #删除第二行第一列之后的一个字符

趣味实例:

#输入字符串,可以在后边加,也可以在光标后加,在text中输出字符串

import tkinter

root=tkinter.Tk()

root.title('my windows')

root.geometry('300x300')

e = tkinter.Entry(root,width=30)

e.pack()

def Insert():
var=e.get()
t.insert('insert',var)# 光标后加

def End():
var=e.get()
t.insert('end',var)# 字符串后加

b1=tkinter.Button(root,text='insert point',command=Insert)

b1.pack()

b2=tkinter.Button(root,text='insert end',command=End)

b2.pack()

t=tkinter.Text(root,width=50,height=3)

t.pack()

root.mainloop()


                         
      


4.Listbox列表

插入insert

删除delete

趣味实例:

#输入字符串,可以在后边加,也可以在光标后加,在text中输出字符串,详见下图

import tkinter

root=tkinter.Tk()

root.title('my windows')

root.geometry('300x300')

var=tkinter.StringVar()

l=tkinter.Label(root,width=4,textvariable=var,bg='yellow')

l.pack()

def click():
value=l.get(l.curselection())#获取光标所选
var.set(value)

b=tkinter.Button(root,text='print selection',command=click)

b.pack()

l=tkinter.Listbox(root)

L=[11,22,33,44,1,2,3,4]

for i in L:
l.insert('end',i)

l.insert(1,'first')

l.pack()

root.mainloop()





5.Checkbutton多选框

import tkinter
root=tkinter.Tk()
L=[
("a",1),
("b",2),
("c",3),
("d",4),
]
v=[]
for i,j in L:
v.append(tkinter.IntVar())
b=tkinter.Checkbutton(root,text=i,variable=v[-1]).pack()#多选框是独立的variable

root.mainloop()

6.Radiobutton单选框

import tkinter
root=tkinter.Tk()
root.geometry("200x200")
L=[
("a",1),
("b",2),
("c",3),
("d",4),
]
v=tkinter.IntVar()
for i,j in L:
b=tkinter.Radiobutton(root,text=i,variable=v,value=j)#单选框共用一个variable,但是value必须不同
b.pack(anchor='w')#左对齐,每个b都要pack
root.mainloop()

7.LabelFrame

import tkinter
root=tkinter.Tk()

root.geometry("200x200")
group = tkinter.LabelFrame(root,text="lesroad的选择是!",padx=5,pady=5)
group.pack(padx=10,pady=10)

L=[
("a",1),
("b",2),
("c",3),
("d",4),
]
v=tkinter.IntVar()
for i,j in L:
b=tkinter.Radiobutton(group,text=i,variable=v,value=j)#单选框共用一个variable,但是value必须不同
b.pack(anchor='w')#左对齐,每个b都要pack//改成同一行:b.grid(row=0,column=j)
root.mainloop() 
                                                      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: