Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter:放置一个或多个标签,每个标签使用不同的字体_Python_Tkinter - Fatal编程技术网

Python Tkinter:放置一个或多个标签,每个标签使用不同的字体

Python Tkinter:放置一个或多个标签,每个标签使用不同的字体,python,tkinter,Python,Tkinter,我是python和tkinter的新手。 我需要放置一个或多个标签,每个标签在这个代码中有不同的字体。 代码正在我的MAC电脑上运行。 我尝试插入更多标签,但结果没有显示在屏幕上,只有第一个标签中的一个。 任何帮助都将不胜感激。谢谢 from Tkinter import * import ttk from PIL import Image, ImageTk root = Tk() root.title("Title") root.geometry('800x600') MyText="""

我是python和tkinter的新手。 我需要放置一个或多个标签,每个标签在这个代码中有不同的字体。 代码正在我的MAC电脑上运行。 我尝试插入更多标签,但结果没有显示在屏幕上,只有第一个标签中的一个。 任何帮助都将不胜感激。谢谢

from Tkinter import *
import ttk
from PIL import Image, ImageTk

root = Tk()
root.title("Title")
root.geometry('800x600')

MyText="""Line 1
Line 2"""

def resize_image(event):
    new_width = event.width
    new_height = event.height
    image = copy_of_image.resize((new_width, new_height))
    photo = ImageTk.PhotoImage(image)
    label.config(image = photo)
    label.image = photo #avoid garbage collection

image = Image.open('pptfileteado.gif')
copy_of_image = image.copy()
photo = ImageTk.PhotoImage(image)
#label = ttk.Label(root, image = photo)
label = ttk.Label(root, 
                  compound=CENTER, 
                  text=MyText, 
                  foreground='white', 
                  justify='center',
                  font = "Ayres 70", 
                  image = photo)

label.bind('<Configure>', resize_image)
label.pack(fill=BOTH, expand = YES, side="right")

root.mainloop()
从Tkinter导入*
导入ttk
从PIL导入图像,ImageTk
root=Tk()
根标题(“标题”)
根几何体('800x600')
MyText=“”第1行
第2行“
def resize_图像(事件):
新建宽度=event.width
新高度=事件高度
图像=复制图像。调整大小((新宽度,新高度))
photo=ImageTk.PhotoImage(图像)
label.config(image=photo)
label.image=photo#避免垃圾收集
image=image.open('pptfileteado.gif')
copy\u of_image=image.copy()
photo=ImageTk.PhotoImage(图像)
#label=ttk.label(根,图像=照片)
label=ttk.label(根、,
复合=中心,
text=MyText,
前景为“白色”,
居中对齐,
font=“Ayres 70”,
图像=照片)
label.bind(“”,调整图像大小)
label.pack(fill=两者,expand=是,side=“右”)
root.mainloop()

您尚未指定标签的放置位置。为此,可以使用
.grid()
.pack()
.place()
.grid()
将允许您使用
放置特定位置,
.pack()
将标签放置在窗口中下一个可用位置。例如:

label = ttk.Label(root, text="Example")
label.pack()
这会将
标签
打包到代码中的下一个可用空间中


希望我能帮上忙:)

您只创建了一个标签……您期望得到什么?什么是“在我的MAC电脑中”?你是说它在Macintosh上运行吗?如果是这样,那就是“Mac”,而不是“Mac”。你是对的。它是Mac,Macintosh。对于您创建的每个小部件,您都需要在其上调用
label.pack()
。(或
.grid()
.place()
)否则它们不会放入实际的GUI中。