一.窗口的图片和文字实现
from tkinter import *
root = Tk()
textLabel = Label(root,
text='您下载的文件包含限制级内容,\n满18岁再进行观看!',
justify=LEFT, #左对齐
padx=10)
textLabel.pack(side=LEFT)
photo = PhotoImage(file="p.gif") #这里是图片的路径
imgLabel = Label(root,image=photo)
imgLabel.pack(side = RIGHT)
mainloop()
PhotoImage
是个类
二.按钮实现
from tkinter import *
def callback():
var.set('胡扯,毛都没长齐吧')
root = Tk()
root.title("18禁")
frame1 = Frame(root)
frame2 = Frame(root)
var = StringVar()
var.set('您下载的文件包含限制级内容,\n满18岁再进行观看!')
#文字Label
textLabel = Label(frame1,
textvariable=var,
justify=LEFT,
padx=10)
textLabel.pack(side=LEFT)
#图片
photo = PhotoImage(file="p.gif")
imgLabel = Label(root,image=photo)
imgLabel.pack(side = RIGHT)
#按钮
button = Button(frame2,text = "我已经18岁了",command = callback)
button.pack()
frame1.pack(padx=10,pady=10)
frame2.pack(padx=10,pady=150)
mainloop()
这里var
是个变量,只有这样我们的label
上的文本才会变化
如果将textLabel
中的textvariable
不变,还是text
,窗口不会显示这个文本的
利用Stringvar
这个类将文本进行更改
这次框架创造了两个
frame1
和frame2
,一个控制上面的文本,一个控制下面的按钮
这个Lambel
如果不受框架控制,就传入root
就行
如果要使用frame
,参数就要传入root
,类似于self
注意:文件和图片文件一定要放在一个文件夹中
三.图片上显示文字
from tkinter import *
root = Tk()
photo = PhotoImage(file="p.gif")
imgLabel = Label(root,
text='暑假不学习,\n明天变垃圾',
justify=CENTER,
compound=CENTER,
font=('宋体',20),
fg = 'pink',
image=photo)
#这个compound是混合模式 字体可以在图片上
imgLabel.pack()
mainloop()