【发布时间】:2015-08-19 23:42:00
【问题描述】:
我正在尝试将之前在命令行中编写的游戏转换为 GUI (https://github.com/abhinavdhere/Share-Trader-PC/releases/tag/v1.0) 我在一帧中构建了一个类似按钮结构的菜单,然后单击帮助,前一帧 f1 应该消失并且应该显示帮助文本。我使用 Message 小部件来显示文本,但它很长并且需要滚动条。我试图添加一个垂直滚动条,但无法使其工作。我提到了python and tkinter: using scrollbars on a canvas 并尝试这样做,但它仍然只显示消息但没有滚动条。这是它的功能:
def help(self):
self.f1.pack_forget()
f2=tk.Frame(self,bg='#FFCC00')
f2.grid(row=0,column=0)
helpMan=open("Game Rules.txt","r")
hText=helpMan.read()
c1=tk.Canvas(f2,width=640,height=480,scrollregion=(0,0,700,500))
c1.pack(side="left",expand=True,fill="both")
text1=tk.Message(f2,text=hText)
c1.create_window(0,0,anchor="nw",window=text1)
scrollY=tk.Scrollbar(f2,orient="vertical",command=c1.yview)
scrollY.pack(side="right",fill="y")
c1.config(yscrollcommand = scrollY.set)
附:为什么做一个简单的滚动条这么麻烦?
【问题讨论】:
-
同时,当我将此代码嵌入the simplest program I could think of 并运行它时,会显示一个垂直滚动条,并且滚动它确实会上下滚动文本。
-
很奇怪。我没有看到任何滚动条,而你的代码看起来和我的一样。
标签: python canvas tkinter scrollbar message