python - 面对 Tkinter 中的列跨度问题
问题描述
import tkinter as tk
submit_btn=tk.Button(root,text='click me')
submit_btn.grid(row=4,column=0,columnspan=2,pady=10,padx=10,ipadx=100)
我是 TKINTER 的初学者。即使我将 columnspan=2 按钮保持在相同的大小,我已经在第 0、1、2、3 行中放置了一些条目和标签元素,并且它们的 column=1 和 0
请帮助我为什么按钮大小不是不改变?
解决方案
Columnspan 只处理按钮的位置,而不是按钮的实际大小。为确保按钮重新缩放到分配的全部列,请添加sticky='ew'
到 的参数.grid
。如果为这些方向配置,sticky 参数会强制按钮粘在其指定的列和行的两侧。要指定它应该坚持的方向,将它们放在放置位置的字符串示例中:
sticky='here'
它接受的方向是:“s”代表南/下/下,“w”代表西/左,“n”代表北/上/上,“e”代表东/右。所以如果你想让它贴在右边你会使用sticky='we'
,如果你想让它贴在顶部和底部你会使用sticky='sn'
,如果你想让它贴在所有边上你会使用sticky='swen'
。粘性参数不关心您给出的方向或方向组合。
您的代码示例:
submit_btn.grid(row=4,column=0,columnspan=2,pady=10,padx=10,ipadx=100,sticky='ew')
推荐阅读
- powershell - Set-ADUser 不处理空或空变量
- reactjs - 使用 react-router-dom 时如何避免“功能组件不能被赋予 refs”?
- java - 如何在组合中设置子类的字段
- django - 运行 django 测试时如何修复“TypeError:'ConnectionHandler' 类型的参数不可迭代”?
- python - 为什么我的 python 代码不会为我的算法显示任何输出?
- react-native - 有没有办法在不使用本机反应启动拨号器语音应用程序的情况下向电话号码发送电话?
- msbuild - MSBuild:如何使用 MSBuild 计算文件校验和?
- javascript - 如何在 VueJs 组件中使用路由器推送?
- python - 编写一个向下取整函数而不是使用 math.floor
- apache-spark - 用户“system:anonymous”无法在命名空间“default”的 API 组“”中创建资源“pods”