我正在使用python Tkinter在Sublime上创建一个Arduino接口..
我需要在图像上显示文字。位于屏幕中间(512,200)。我不知道如何使用这个库
import Tkinter as tk
from Tkinter import *
root = tk.Tk()
root.geometry("1024x574")
root.title("window")
photo = tk.PhotoImage(file= r"hi.gif")
cv = tk.Canvas()
cv.pack(side='top', fill='both', expand='yes')
cv.create_image(0, 0, image=photo, anchor='nw')
text=['my text']
root.mainloop()
有什么建议吗?
答案 0 :(得分:0)
您需要创建一个tk标签小部件并向其中添加文本。然后,您需要使用tk标签选项compound=
。
直接来自http://effbot.org/tkinterbook/label.htm:
“ compound =
控制如何在标签中组合文本和图像。默认情况下,如果提供了图像或位图,则会绘制它而不是文本。如果此选项设置为CENTER,则文本将绘制在图像顶部。如果此选项设置为BOTTOM,LEFT,RIGHT或TOP之一,则在文本旁边绘制图像(使用BOTTOM在文本下方绘制图像,等等)。默认值为无。”
以下是一个最小但可行的示例,可以满足您的要求:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
image = Image.open('hi.gif')
tk_image = ImageTk.PhotoImage(image)
label = tk.Label(root, text='Some Plain Text', image=tk_image, compound='center')
label.pack()
root.mainloop()