私はpython/tkinterで単純なテキストベースのゲームに取り組んでおり、これまでのところ基本的なセットアップを行っています。イントロを表示します。テキスト、そして入力できます(これはまだ進行中の作業です)。しかし、テキストが多くなることに気付き、フレームのスクロールバー機能について考えました。
ただし、現在のコンテンツをフレームに追加したところ、機能が機能しなくなりました。私は誰かの例に従っていたので、それが正しいかどうかはわかりません。コードは次のとおりです。
from Tkinter import *
w=Tk()
w.configure(background="navy")
w.iconbitmap(default="blankIcon.ico")
w.title("Decimated world")
w.resizable(0,0)
introText="When you wake, you see that the sky is dark; you can't tell the time of day."
scen1="You head toward the Town hall."
class App(Frame):
def __init__(self,w):
Frame.__init__(self,w)
def key(event):
print event.char
t=Text(w)
t.insert(INSERT,introText)
t.configure(state=DISABLED,background="navy",foreground="white")
t.pack()
def do_command(command):
t.configure(state=NORMAL)
t.insert(INSERT,'\n>>> {}'.format(command))
t.configure(state=DISABLED)
s=StringVar()
e=Entry()
e.configure(background="navy",foreground="white")
e.focus_set()
e.pack(side=BOTTOM)
def enter(event):
do_command(e.get())
if e.get()=="walk north":
t.configure(state=NORMAL)
t.insert(INSERT,"\n"+scen1)
t.configure(state=DISABLED)
e.bind("<KeyRelease-Return>",enter)
w.mainloop()
既存の関数/ウィジェットをフレームに入れる際に誰かの助けをいただければ幸いです。ありがとう。