问题描述
如何在GUI(Tkinter)上打印此图像,以便可以将图像添加到其背景中,或者是否有其他方法可以将图像添加到该程序中? 我曾尝试在Tkinter上导入它,但不知道如何在其中打印出来
# List for the loop print star message
print_H=[[" " for i in range(6)]for j in range(6)]
print_A=[[" " for i in range(6)]for j in range(6)]
print_P=[[" " for i in range(6)]for j in range(6)]
print_Y=[[" " for i in range(6)]for j in range(6)]
# Loop for H "*" pattern
for r in range(6):
for c in range(6):
if c == 0 or c == 5 or (r == 3 and (c>0 and c <5)):
print_H[r][c]="*"
# Loop for A "*" pattern
for r in range(6):
for c in range(6):
if ((c == 0 or c==5) and r!=0) or (r==0 and(c>0 and c<5)) or (r==3 and(c>0 and c<5)) :
print_A[r][c]="*"
# Loop for P"*" pattern
for r in range(6):
for c in range(6):
if c==0 or (c==4 and (r==1 or r==2)) or ((r==0 or r==3) and (c>0 and c<4)) :
print_P[r][c]="*"
# Loop for Y "*" pattern
for r in range(6):
for c in range(6):
if (c==2 and r>1) or (r==c and c<2) or (r==0 and c==4) or (r==1 and c==3) :
print_Y[r][c]="*"
# This will print all star("*") in the message form
for i in range(6):
for j in range(6):
print(print_H[i][j],end=" ")
for j in range(6):
print(print_A[i][j],end=" ")
for j in range(6):
print(print_P[i][j],end=" ")
for j in range(6):
print(print_Y[i][j],end=" ")
print( )
解决方法
因此,如果要在tkinter中放置键盘符号,则可以根据自己的意愿选择几种方式。
要开始使用,您需要将tkinter添加到程序中并设置一个窗口:
import tkinter as tk
root = tk.Tk()
root.mainloop()
那样就可以了。看到要在背景上添加图像时,我建议使用画布保存所有* s。以下将使您做到这一点:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack()
for i,j in ((1,1),(10,10),(50,(100,100)):
canvas.create_text(i,j,text="*",anchor='nw')
root.mainloop()
我刚刚随机选择了一些放置*的位置,您可以将它们放置在任意位置。将示例中的i和j替换为所需的位置。
之后,您可以添加图像;我建议您查看PIL如何做到这一点。另外,看到您还没走这么远,也许还可以阅读tkinter的canvas工具。您可以在喜欢的搜索引擎中输入“ pythong tkinter canvas”来学习各种知识。
正如我所说,还有其他方法可以在tkinter窗口中放置文本。最值得注意的是,您可以使用文本小部件或某些标签小部件。可能我建议您开始阅读http://effbot.org/tkinterbook/,然后看看您可以学到什么。