我正在进行基于文本的冒险,将游戏文本的标签打印到屏幕上。我需要使窗口可滚动,所以我试图实现一个包含框架的画布,其中包含标签。 出于某种原因,当我这样做时:
display = Tk()
display.geometry('1000x800')
canvas = Canvas(display)
frame = Frame(canvas)
canvas.pack()
frame.pack()
标签打包正确,但显然无法滚动。 但是当我这样做时(在画布中创建一个框架窗口):
canvas = Canvas(display)
frame = Frame(canvas, width=1000, height=700)
canvas.pack()
canvas.create_window((0,0), window=frame, anchor='nw')
第一个标签不适合框架,第二个标签打印后它们都消失了吗?
在整个主游戏循环中调用此功能时会打印游戏文本标签:
def output(text):
l = Label(frame,text=text,justify=LEFT,font=font)
l.pack()
display.update()
我一直在摆弄容器尺寸和一些pack()属性,但似乎没有什么工作。窗口的尺寸似乎没有根据框架的变化而改变。 我应该可以添加一个滚动条,如果我可以正确绘制它们。
提前致谢!