首页 > 编程知识 正文

tkinter库,tkinter做的漂亮界面

时间:2023-05-06 00:01:28 阅读:259763 作者:785

Tkinter 新手入门 import Tkinter as tkapp=tk.Tk()##创建Tk类app.title("YUE~AN")##标题thelabel=tk.Label(app,text="YUE AN")##标签,上面可以添加文本,图像等thelabel.pack()##可以自动调节大小的方法app.mainloop() import Tkinter as tkclass APP: def __init__(self,name): ##做2个框架。 frame=[] for i in range(2): frame.append(tk.Frame(name)) frame[0].pack(side=tk.LEFT,padx=10,pady=3) name.title("yue") self.hi_there = tk.Button(frame[0],text="say hi~",bg="black",fg="white",command=self.say_hi) self.hi_there.pack() ##还不能用~ self.label=tk.Label(name,text="lalala!") self.label.pack() def say_hi(self): print("hello ~ !")root = tk.Tk()app = APP(root)root.mainloop()

pack
我们使用 pack 函数的时候,默认先使用的放到上面,然 后 依次向下排,它会给我们的组件一个自认为合适的位置 和大小,这是默认方式。
每设置一次按钮,框架,标签后,即可通过pack方法来调整它们的位置。

引用块内容
pack布局非常简单,不用做过多的设置,直接使用一个 pack 函数就可以了。
可接受的参数:side:停靠在哪个方向
left: 左
top: 上
right: 右
botton: 下
fill:填充
x:水平方向填充
y:竖直方向填充
both:水平和竖直方向填充
none:不填充
expand:
yes:
no:
anchor:
N:北 下
E:东 右
S:南 下
W:西 左
CENTER:中间
padx:x方向的外边距
pady:y方向的外边距
ipadx:x方向的内边距
ipady:y方向的内边距
from Tkinter import *
root = Tk()
Button(root,text=’A’).pack(side=LEFT,expand=YES,fill=Y)
Button(root,text=’B’).pack(side=TOP,expand=YES,fill=BOTH)
Button(root,text=’C’).pack(side=RIGHT,expand=YES,fill=NONE)
Button(root,text=’D’).pack(side=LEFT,expand=NO,fill=Y)
Button(root,text=’E’).pack(side=TOP,expand=YES,fill=BOTH)
Button(root,text=’F’).pack(side=BOTTOM,expand=YES)
Button(root,text=’G’).pack(anchor=SE)
root.mainloop()

关于frame

from Tkinter import * root = Tk() #以不同的颜色区别各个frame for fm in ['red','blue','yellow','green','white','black']: #注意这个创建Frame的方法与其它创建控件的方法不同,第一个参数不是root Frame(height = 20,width = 400,bg = fm).pack() root.mainloop()

2含有图片的标签 一张图片,一张文字 from Tkinter import *def say_hi(): print("hello ~ !")root = Tk()frame1 = Frame(root)frame2 = Frame(root)root.title("yue")label= Label(frame1,text="lalalalalallalalalalllalal!",justify=LEFT)label.pack(side=LEFT)hi_there = Button(frame2,text="say hi~",command=say_hi)hi_there.pack()frame1.pack(padx=1,pady=1)frame2.pack(padx=10,pady=10)root.mainloop()

似乎当只存在一个标签或者button时候,不存在side?

from tkinter import *# 导入tkinter模块的所有内容root = Tk()# 创建一个文本Label对象textLabel = Label(root, text="lalalal,nlalalala!", justify=LEFT,#文字左对齐 padx=10)textLabel.pack(side=LEFT)# 创建一个图像Label对象# 用PhotoImage实例化一个图片对象(支持gif格式的图片)photo = PhotoImage(file="18.gif")imgLabel = Label(root, image=photo)imgLabel.pack(side=RIGHT)mainloop() 一张文字和背景图片 from tkinter import *root = Tk()photo = PhotoImage(file="bg.gif")theLabel = Label(root, text="lallanlalal", justify=LEFT, image=photo, compound=CENTER,##表示文字覆盖在图像上 font=("宋体", 20), fg="white" )theLabel.pack()mainloop()

关于label

http://blog.csdn.net/red_sola/article/details/41950975

关于更改标签文字内容 from Tkinter import *def callback(): var.set("aaaaaaa")root=Tk()var = StringVar()#创建可以更改内容的对象var.set("bbbbbb")textLabel = Label(root, textvariable=var, justify=LEFT)textLabel.pack(side=LEFT)but=Button(root,text= u'变',command=callback)but.pack()mainloop() 上面的总结性代码 from Tkinter import *def callback(): var1.set("Noo~ these change !")root = Tk()frame1 = Frame(root)frame2 = Frame(root)#可变字符串var1 = StringVar()var1.set("If you push the buttonnthese contents could change !")#背景图片 只支持gifimage = PhotoImage(file='bg.gif')label = Label(frame1, textvariable=var1, justify=LEFT, image = image, compound=CENTER, font=20, fg="white" )label.pack()frame1.pack()button = Button(frame2, text="broken English !", command = callback)button.pack(side=LEFT,padx=10,pady=10)image2 = PhotoImage(file="18.gif")label2 = Label(frame2, image= image2, compound=CENTER, )label2.pack()frame2.pack()mainloop()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。