python-3.x - tkinter 框架无法正常工作
问题描述
谁能帮助我为什么columnspan
在这段代码中没有任何影响:
import tkinter as tk
root = tk.Tk()
frametop = tk.Frame(root).grid(row = 0, column = 0, columnspan = 2)
labeltest1 = tk.Label(frametop, text="A").grid(row = 0, column = 0)
labeltest2 = tk.Label(frametop, text="B").grid(row = 0, column = 1)
labeltest3 = tk.Label(frametop, text="C").grid(row = 0, column = 2)
framebottom = tk.Frame(root).grid(row = 1, column = 0)
labeltest4 = tk.Label(framebottom, text="Hello World").grid(row = 1, column = 0)
labeltest5 = tk.Label(framebottom, text="Hello World").grid(row = 1, column = 1)
labeltest6 = tk.Label(framebottom, text="Hello World").grid(row = 1, column = 2)
root.mainloop()
labeltest1
, labeltest2
,labeltest3
分布在类似于 的小部件的列中framebottom
。我想要的是 a 内的 3 列网格,frame
其中 acolumnspan = 2
具有相同的行。
与此类似的东西:
|| A | B | C ||
| Hello World | Hello World | Hello World |
解决方案
您的代码的组织方式Frames
没有效果;当您grid
与小部件创建在同一行时,None
将返回并存储在您用于Frames
, 和Label
.的变量中 结果是标签直接插入到root
.
以下内容相同,根据您的要求放置标签。
import tkinter as tk
root = tk.Tk()
tk.Label(root, text="A").grid(row=0, column=0, columnspan=2)
tk.Label(root, text="B").grid(row=0, column=2, columnspan=2)
tk.Label(root, text="C").grid(row=0, column=4, columnspan=2)
tk.Label(root, text="Hello World").grid(row=1, column=0, columnspan=3)
tk.Label(root, text="Hello World").grid(row=1, column=3, columnspan=3)
tk.Label(root, text="Hello World").grid(row=1, column=6, columnspan=3)
root.mainloop()
GUI外观(osX):
推荐阅读
- c# - 读取配置项并使用`IOptions
` 失败 - php - 从rest api中的帖子获取图片网址
- javascript - 未捕获的类型错误:无法读取未定义的属性“autocomplete_commitKeystrokes”
- javascript - 根据 ACF 中继器文本输入选项填充选择字段
- java - 如何从自定义视图类中刷新视图并调用 OnDraw 方法?
- python - 代码厨师 | 卧推问题 - 我用示例测试用例解决了这个问题并部分解决了它。你能指出我错过了什么吗
- python - 使用 Zelle 图形模块单击鼠标时尝试循环移动交通灯
- javascript - 如何使用 getItemLayout 道具
在 React Native 中? - c - 从 .c/.h 源文件中去除尾随空格是否 100% 安全?
- c# - 验证 Web api 控制器是否需要以编程方式授权