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 回答