改变Tkinter Checkbutton中复选框相对于文本的位置

6 投票
1 回答
9686 浏览
提问于 2025-04-18 13:19

我该如何改变Tkinter中的Checkbutton复选框旁边文本的位置呢?

默认情况下,文本是在复选框的右边。我想把它改成在复选框的左边或者上面。

我知道可以通过创建一个Label标签来放置所需的文本,然后把这两个元素小心地放在一起,但我更希望避免这种方法。

以下是一些示例代码:

from Tkinter import * 
root = Tk()
Checkbutton(root, text="checkButon Text").grid()
root.mainloop()

1 个回答

4

嗯,我觉得你不能直接做到这一点,但你可以做一些看起来像是可以的事情。这是一个标签解决方案,不过我稍微改动了一下,所以最终得到的CheckbuttonLabel的组合被当作一个整体小部件,就像被包裹在一个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()

当你创建多个框架(里面有各自的内容 - CheckbuttonLabel)时,你可以很方便地处理它们。这样,你只需要像处理复选框一样来定位这些框架就可以了。

撰写回答