python中的图像顶部的标签
问题描述:
我想在图像上显示文本。现在文本在图像的下面,或者如果我在网格中放置一行= 0消失。我假设它在图像背后。我似乎无法得到它的工作。我的代码是:python中的图像顶部的标签
from Tkinter import *
from PIL import ImageTk
import csv
import time
root = Tk()
image = ImageTk.PhotoImage(file='C:\Users\Shawn\PycharmProjects\Test\Background.gif')
var0 = StringVar()
var1 = StringVar()
var2 = StringVar()
var3 = StringVar()
label0 = Label(root, fg="white", textvariable=var0)
label1 = Label(root, fg="white", textvariable=var1)
label2 = Label(root, fg="white", textvariable=var2)
label3 = Label(root, fg="white", textvariable=var3)
# ----------------------------------------------------------------------
def csv_dict_reader(file_obj):
reader = csv.DictReader(file_obj, delimiter=',')
for column in reader:
if (column["Week"]) == (time.strftime("%U")):
var0.set(column["Parashat"])
var1.set(column["Torah"])
var2.set(column["Haftarah"])
var3.set(column["Gospel"])
# ----------------------------------------------------------------------
if __name__ == "__main__":
with open("Torah.csv") as f_obj:
csv_dict_reader(f_obj)
Label(root, image=image).grid(row=0, column=0)
label0.grid()
label1.grid()
label2.grid()
label3.grid()
mainloop()
我试图把行和列的label0.grid(行= 1,列= 1),所有的标签,所有的行数和列数一起。
我想要的结果是label0 - label3要居中在图像的顶部。图像是黑色和深蓝色,所以白色文字将显示良好。谢谢。
肖恩
答
您可以通过添加文本选项将在照片标签做到这一点。然后在compound特征看格式化。它看起来像这样:
label=Label(image=image, text="Text", compound="center")
我已经尝试过,但由于我使用if语句进行标记,所有我得到的是数字而不是我正在寻找的数据。它不是我正在使用的静态文本,而是从一个.csv文件调用的数据,该文件取决于一周中显示的数据。我尝试过: – sdruch
我试过,但因为我使用if语句进行标记,所以我得到的是数字而不是我正在寻找的数据。它不是我正在使用的静态文本,而是从一个.csv文件调用的数据,该文件取决于一周中显示的数据。我尝试过:label = Label(image = image,text = text0,compound =“center”),结果是:当它与Chayei Sarah一起拍照时,上面带有.52036512的图片。只是不知道我在做什么错。 – sdruch