【问题标题】:Tkinter Grid SystemTkinter 网格系统
【发布时间】:2021-08-14 15:11:26
【问题描述】:
title = Label (root, text = "Expectancy Calculator")
title.grid(row = 0, column = 2)

howManyStocksLabel = Label(root, text = "How many stocks do you want to evaluate?")
howManyStocksLabel.grid(row = 1, column = 0)
howManyStocksEntry = Entry(root, borderwidth = 3)
howManyStocksEntry.grid(row = 1, column = 1)


riskLabel = Label(root, text = "Enter risk %                                                        ")
riskLabel.grid(row = 2, column = 0)
riskEntry = Entry(root, borderwidth = 3)
riskEntry.grid(row = 2, column = 1)

isChnaceDefaultCheckButton = Checkbutton(root, text = "Make chance = 0.9?")
isChnaceDefaultCheckButton.grid(row = 3, column = 0)

nextButton = Button(root, text = "Next!", fg = 'green', bg = 'white',
                    command= lambda: myClick(riskEntry, howManyStocksEntry))
nextButton.grid(row = 4, column = 2)

这里有两个问题;首先,riskEntryLabel 并不完全从第 0 列开始,除非我将所有这些空格放在 % 之后。

这是程序的屏幕截图,riskEntryLabel 中没有空格。

除了插入所有这些空格之外,还有其他方法可以解决此问题吗?更重要的是,为什么tkinter 会这样?

其次,如何将Checkbutton的文字放在左边而不是右边?

【问题讨论】:

  • .grid 自动居中您的小部件。如果您希望小部件向左移动,可以将sticky="w" 添加到.grid()
  • 我不太了解你。你能把它插入到我的代码中来演示它吗?
  • 看看@BryanOakley 写的答案。这基本上就是我所说的,但更详细一点

标签: python user-interface tkinter


【解决方案1】:

使用grid 时,小部件将在分配给它们的空间中居中。在您的情况下,由于“有多少股票......”标签,第一列非常宽。要将风险标签与左侧对齐,您希望它“粘贴”到空间的左侧而不是居中。

您可以使用sticky 属性执行此操作,该属性可以指定一个指南针点(“n”、“s”、“e”、“w”)或点组合(例如:“nsew”)

riskLabel.grid(row=2, column=0, sticky="w")

对于 checkbutton,它有一个名为 anchor 的选项,它指定如何将文本与 checkbutton 对齐。

cb = Checkbutton(root, text="Make chance = 0.9?", anchor="w")
cb.grid(row=3, column=0, sticky="ew")

看来您希望文本右侧的复选按钮。复选按钮不支持这一点。执行此操作的正常方法是创建一个不带文本的复选按钮,然后使用与输入小部件完全相同的方式为文本使用标签。

【讨论】:

  • riskLabel 工作正常,但检查按钮问题仍然存在。检查按钮仍然在文本的左侧。
  • @bewop west 在左侧顺便说一句,所以尝试更改锚点
  • @bewop:Checkbutton 的文本始终位于其复选框的右侧。
  • @bewop:我已经更新了我的答案。我错过了您想要检查按钮和文本反转的事实。简而言之,tk checkbutton 不支持这一点。最简单的解决方案是创建一个标签,然后创建一个不带文本的复选按钮。
猜你喜欢
  • 2020-08-20
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 2020-11-23
  • 2016-03-11
  • 2018-09-03
  • 2014-08-10
相关资源
最近更新 更多