0

スクリプトで txt ファイルの行からボタンを生成しようとしています (各行がボタンになります)。問題なく動作します (行数と同じボタンを生成し、それぞれの行をキャプションとして使用します)、ボタン内のテキストは異なる位置になります (最後のものを除くすべてがボタンの上部にあり、最後のボタンはボタンの中央に適切に配置されています) が、それらはすべて同じコードを共有しています。興味深いことに、この行から得られる値は次のとおりです。

print AuxName

すべてのループで同じ番号ですが、最初のループは番号になります。完全なコードは次のとおりです。

   from Tkinter import *
from PIL import Image, ImageTk
master = Tk()
master.wm_title("Window Title")
master.geometry("400x400")
tk_rgb = "#%02x%02x%02x" %  (128,128,128)
master.config( bg = tk_rgb)
filehandle = open('test.txt','r')
List = filehandle.readlines()
ListSize = len(List)
filehandle.close()
for x in range ( ListSize ):
    yy = 20*(x+1)
    AuxName = 'btn'+str(x)
    AuxName = Button(master, text=List[x], font=("arial", 10))
    tk_rgb = "#%02x%02x%02x" % (0,0,0)
    AuxName["fg"] = tk_rgb
    tk_rgb = "#%02x%02x%02x" % (255,255,255)
    AuxName["bg"] = tk_rgb
    AuxName.place(x=10, y=yy , height=20, width=200)
    print AuxName
    print yy
mainloop()

まとめの質問: すべてのボタンのキャプションをボタンの中央に配置するにはどうすればよいですか?

4

1 に答える 1

0

投稿されたコードは正常に動作します。

あなたが見ているものを見ている理由についての推測は、あなたのファイルのデータが問題を引き起こしているということです. 一部の行に先頭または末尾の空白がたくさんある可能性はありますか?

于 2013-03-06T11:39:39.730 に答える