改变Tkinter Checkbutton中复选框相对于文本的位置
我该如何改变Tkinter中的Checkbutton
复选框旁边文本的位置呢?
默认情况下,文本是在复选框的右边。我想把它改成在复选框的左边或者上面。
我知道可以通过创建一个Label
标签来放置所需的文本,然后把这两个元素小心地放在一起,但我更希望避免这种方法。
以下是一些示例代码:
from Tkinter import *
root = Tk()
Checkbutton(root, text="checkButon Text").grid()
root.mainloop()
1 个回答
4
嗯,我觉得你不能直接做到这一点,但你可以做一些看起来像是可以的事情。这是一个标签解决方案,不过我稍微改动了一下,所以最终得到的Checkbutton
和Label
的组合被当作一个整体小部件,就像被包裹在一个Frame
里一样。
from Tkinter import *
class LabeledCheckbutton(Frame):
def __init__(self, root):
Frame.__init__(self, root)
self.checkbutton = Checkbutton(self)
self.label = Label(self)
self.label.grid(row=0, column=0)
self.checkbutton.grid(row=0, column=1)
root = Tk()
labeledcb = LabeledCheckbutton(root)
labeledcb.label.configure(text="checkButton Text")
labeledcb.grid(row=0, column=0)
root.mainloop()
当你创建多个框架(里面有各自的内容 - Checkbutton
和Label
)时,你可以很方便地处理它们。这样,你只需要像处理复选框一样来定位这些框架就可以了。