小部件在python 2.7 wrt python 2.5中的排列方式不同

时间:2012-08-23 11:29:22

标签: python tkinter sticky

我刚刚从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)

此致 里斯

1 个答案:

答案 0 :(得分:0)

经过一些研究后,我了解到这似乎是tk 8.4和tk 8.5之间行为的记录变化,它们分别是python 2.5和2.7使用的版本。具体而言,当您不对列应用权重时,行为会更改。

此更改的文档位于:http://www.tcl.tk/cgi-bin/tct/tip/146.html

顺便说一句,root.grid()什么也没做。这是无害的,但完全没有必要。