Python Tkinter Checkbutton 与其他小部件对齐

Posted

技术标签:

【中文标题】Python Tkinter Checkbutton 与其他小部件对齐【英文标题】:Python Tkinter Checkbutton alignment to other widgets 【发布时间】:2018-11-23 22:01:20 【问题描述】:

所以我在框架小部件中有一些 tkinter 复选框,它们应该相互对齐。我认为使用 grid 然后使用 sticky='w' 应该将它们与列的最东端对齐。可以这么说,让复选框方块对齐。相反会发生这种情况(缓解只是看到检查按钮小部件的边界):

Image of GUI

小部件的文档 - 在我看来 - 没有提供设置此功能的功能。由于网格的粘性,我不确定它是否应该是功能。实际上,浮雕在那一栏中显示出它的粘性......

这是我的代码示例:

    def init_checkboxes(self):
    """
    Creates all checkboxes for this particular frame subclass.
    """
    self.bvar_cbx_showplots = tk.BooleanVar(value=False)
    self.cbx_showplots = tk.Checkbutton(self.lblframe, width=20,
                                        text='Show Plots after run',
                                        variable=self.bvar_cbx_showplots,
                                        relief='groove')
    self.cbx_showplots.grid(row=1, column=2, sticky='W')
    self.bvar_cbx_saveres = tk.BooleanVar(value=True)
    self.cbx_saveres = tk.Checkbutton(self.lblframe, width=20,
                                      text='Save simulation results',
                                      variable=self.bvar_cbx_saveres,
                                      relief='groove')
    self.cbx_saveres.grid(row=2, column=2, sticky='W')

编辑:Second attempt from Reblochon

【问题讨论】:

请考虑添加代码示例,或修改您在此问题中发布的示例。就目前而言,它的格式和范围使我们很难为您提供帮助;这是一个great resource,可以帮助您开始。祝你的代码好运! 谢谢,我会考虑的! 【参考方案1】:

使用anchor

锚点= 控制文本(或图像)在按钮中的位置。使用 NNEESES 之一>SWWNWCENTER。 默认为 CENTER。如果您更改此设置,最好也添加一些填充,使用 padx 和/或 pady 选项。 (锚/锚)

import tkinter as tk

root = tk.Tk()

bvar_cbx_showplots = tk.BooleanVar(value=False)
cbx_showplots = tk.Checkbutton(root, width=20,
                               text='Show Plots after run',
                               variable=bvar_cbx_showplots,
                               relief='groove', anchor='w')
cbx_showplots.grid(row=1, column=2, sticky='W')

bvar_cbx_saveres = tk.BooleanVar(value=True)
cbx_saveres = tk.Checkbutton(root, width=20,
                             text='Save simulation results',
                             variable=bvar_cbx_saveres,
                             relief='groove', anchor='w')
cbx_saveres.grid(row=2, column=2, sticky='W')

root.mainloop()

【讨论】:

这真是太棒了,谢谢! Acutally 我打开了一个糟糕的文档站点,没有提到锚点...See this link。对不起,谢谢! 我通常使用我链接的 effbot 页面或New Mexico Tech 页面。这些都是很好的资源。

以上是关于Python Tkinter Checkbutton 与其他小部件对齐的主要内容,如果未能解决你的问题,请参考以下文章

python tkinter与ttk

python [Python:Tkinter桌面开发] #python #tkinter #tk #desktop

折腾Python中的Tkinter

python GUI(Tkinter)

Python Tkinter之布局

Python中的tkinter怎么做?