0

Python 2.5 から 2.7 に移行したところ、2.5 で作成した GUI が 2.7 では異なって見えることがわかりました。Tkinter で "sticky = E+W" コマンドを使用して、特定のウィジェットを引き伸ばして GUI の全幅をカバーします。2.5 ではこれらのウィジェットは自動的に中央に配置されますが、2.7 ではこれらは GUI の左側に配置されます。これを修正するコマンドが見つかりません。私を助けることができる人は誰ですか?

Python 2.5 および 2.7 での私の GUI の写真を次に示します (これは私の仕事用に作成した GUI であるため、ラベルを削除する必要がありました..)

https://lh3.googleusercontent.com/-YCaW23r09gs/UDZG6TufgFI/AAAAAAAAEN8/z2_PQCxLIV8/s912/Python%25202.5%2520v%25202.7.png

私が使用するコードに関する詳細:

root = Tk()
root.grid()

F = Frame(root, relief = GROOVE, borderwidth = 3)
F.grid(row = 0, column = 0, sticky = EW)

Label(F,text = 'Data Source:', font = ('Arial',10)).grid(row = 0, column = 0)

LocalVar = IntVar()
CB1 = Radiobutton(F, text = 'Option 1', variable = LocalVar, value = 0, font = ('Arial',10,'italic'))
CB1.grid(row = 0, column = 1)
CB2 = Radiobutton(F, text = 'Option 2', variable = LocalVar, value = 1, font = ('Arial',10,'italic'))
CB2.grid(row = 0, column = 2)  

FAQ = Button(root, bitmap = "info", width = 40, command = ShowFAQ, bg = '#0F238C', fg = 'white')
FAQ.grid(row = 0, column = 0, sticky = E)

よろしく、 ヨリス

4

1 に答える 1

0

少し調査した後、これは tk 8.4 と tk 8.5 の間の動作の変更が文書化されているように見えることがわかりました。これは、それぞれ python 2.5 と 2.7 が使用するバージョンです。具体的には、列に重みを適用しない場合の動作が変わりました。

変更に関するドキュメントはこちら: http://www.tcl.tk/cgi-bin/tct/tip/146.html

ちなみにroot.grid()何もしません。無害ですが、まったく不要です。

于 2012-08-23T13:38:54.987 に答える