python - Tkinter 网格系统
问题描述
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
除非我将所有这些空格放在%
.
这是程序的屏幕截图,其中没有空格riskEntryLabel
。
除了插入所有这些空格之外,还有其他方法可以解决此问题吗?更重要的是,为什么会tkinter
这样?
其次,如何将文本Checkbutton
放在左侧而不是右侧?
解决方案
使用 时grid
,小部件将在分配给它们的空间中居中。在您的情况下,由于“有多少股票......”标签,第一列非常宽。要使风险标签与左侧对齐,您希望它“粘贴”到空间的左侧而不是居中。
您可以使用属性来执行此操作,该sticky
属性可以指定一个罗盘点(“n”、“s”、“e”、“w”)或点的组合(例如:“nsew”)
riskLabel.grid(row=2, column=0, sticky="w")
至于检查按钮,它有一个名为的选项anchor
,指定如何将文本与检查按钮对齐。
cb = Checkbutton(root, text="Make chance = 0.9?", anchor="w")
cb.grid(row=3, column=0, sticky="ew")
看来您想要文本右侧的复选按钮。复选按钮不支持这一点。执行此操作的正常方法是创建一个不带文本的复选按钮,然后使用与输入小部件完全相同的方式为文本使用标签。
推荐阅读
- python - 我想让命令 python3 运行 python3.7
- python - Django 原始查询输出与 pgAdmin 输出不一致
- netlogo - 使用 nw:load-graphml 在 netlogo 中导入链接品种
- c++ - 带有 OFN_ALLOWMULTISELECT 的 CFileDialog 快捷方式的结果不正确
- haskell - 类型族的类型级计算何时“发生”?
- docker - 是否需要打开端口 2377、7946、4789 才能创建 docker swarm?
- node.js - 使用 grunt/babel 转译代码时如何修复“path.inShadow 不是函数”
- firebase - firebase 安全规则 - 公开与经过身份验证
- twilio - 是否可以将 URL 附加到 MMS 中的 Twilio 图像?
- javascript - 日期转换 JavaScript 到 PHP