我正在尝试使用Tkinter开发一个离线版本的Candy盒子(仅供个人使用),并且ASCII艺术将无法在Tkinter Canvas上正确显示。
这是我希望它显示的方式:
"""
.---.
| '.| __
| ___.--' )
_.-'_` _%%%_/
.-'%%% a: a %%%
%% L %%_
_%\'-' | /-.__
.-' / )--' #/ '\
/' / /---'( : \
/ | /( /|##| \ |
/ ||# | / | /| \ \
| ||##| I \/ | | _|
| ||: | o |#| | / |
| || / I |:/ / |/
| || | o / / /
| \| | I |. / /
\ /|##| o |.| /
\/ \::|/\_ / ---'|
""")
这就是它显示的方式(我试图将字体更改为IDLE(Courier,10)中使用的字体,因为它似乎显示正确,但它似乎没有帮助。
使用以下代码,结果如下:
self.merchantShow = Tk.Label(self, font=self.fontused, text=
"""
.---.
| '.| __
| ___.--' )
_.-'_` _%%%_/
.-'%%% a: a %%%
%% L %%_
_%\'-' | /-.__
.-' / )--' #/ '\
/' / /---'( : \
/ | /( /|##| \ |
/ ||# | / | /| \ \
| ||##| I \/ | | _|
| ||: | o |#| | / |
| || / I |:/ / |/
| || | o / / /
| \| | I |. / /
\ /|##| o |.| /
\/ \::|/\_ / ---'|
""")
self.merchantShow.grid(row=4, column=0, stick="W")
有人可以帮我解决这个问题并解释为什么会这样吗?我假设它与字体有关,但我确信必须比通过所有字体更简单。
答案 0 :(得分:7)
from tkinter import *
text = r"""
.---.
| '.| __
| ___.--' )
_.-'_` _%%%_/
.-'%%% a: a %%%
%% L %%_
_%\'-' | /-.__
.-' / )--' #/ '\
/' / /---'( : \
/ | /( /|##| \ |
/ ||# | / | /| \ \
| ||##| I \/ | | _|
| ||: | o |#| | / |
| || / I |:/ / |/
| || | o / / /
| \| | I |. / /
\ /|##| o |.| /
\/ \::|/\_ / ---'|
"""
root = Tk()
Label(root, justify=LEFT, text=text).pack()
root.mainloop()