使用python Tkinter

时间:2015-10-18 16:22:21

标签: python tkinter

我正在使用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()

有什么建议吗?

1 个答案:

答案 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()