2013-03-06 27 views
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() 

總結問題:怎樣才能讓所有的按鈕在按鈕的中心,而不是相對於自身不同位置的標題,因爲它現在情況如何?

+1

我沒有看到你所描述的問題,我得到的按鈕中間的字幕。也許標籤有尾隨/領先的空白?試試'...,文本=列表[X] .strip(),...' – Junuxx 2013-03-06 09:26:08

回答

0

張貼的代碼工作正常。

一個猜測,爲什麼你看到,你看到的是,在你的文件中的數據是造成問題的原因。是否有可能有一些行有很多前導空白或尾隨空白?

+1

您好,我想的圖像可以更好地描述我所得到的:http://i.imgur.com/5uRi6ds.png有你可以看到我在按鈕上獲得的標題......而文本來自我剛剛創建的文本文件,除了文字外沒有任何內容,最後沒有空格。還改變了文本以包含更少的行或更多的行,並且按鈕將出現但是相同的結構(最後一個將是唯一出現正確標題的)。由於錯誤更容易看出,我將這個高度改爲20(而不是40)。感謝您的幫助! – 2013-03-06 18:02:03

+0

@ user2138906:如果您使用包或網格而不是地點,Tkinter會爲您計算適當的高度。我的猜測是你的數據中有換行符或回車符。創建按鈕時,您是否嘗試過在文本上使用「strip」? – 2013-03-06 18:31:15

+0

Strip解決了它,這個列表在每一行上都有一個回車符,但是最後一行是回車符,這就是爲什麼按鈕也會使用該回車符。我對你的猜測印象深刻,感謝你的幫助,它的解決! :) – 2013-03-06 19:04:52

相關問題