You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tkinter中实现MM、YY、CVC三个Entry组件横向并排?

解决Tkinter中MM/YY/CVC输入框横向并排问题

我在开发项目时,需要将MM、YY、CVC三个Entry组件横向并排摆放,尝试使用sticky和columnspan属性后仍未达到预期效果。

当前代码

from tkinter import *

Master = Tk(); Master.attributes("-fullscreen", True)

Page = Frame(Master)
Page.place(relx = 0.5, rely = 0.5, anchor = "center")

CradnumberEntry = Entry(Page)
CradnumberEntry.insert(0, "Card number")
CradnumberEntry.config(width = int(2 * CradnumberEntry.cget("width")))
CradnumberEntry.grid(row = 0, column = 0)

MMEntry = Entry(Page)
MMEntry.insert(0, "MM")
MMEntry.grid(row = 1, column = 0, sticky = "w")
MMEntry.config(width = int(1 / 4 * MMEntry.cget("width")))

YYEntry = Entry(Page)
YYEntry.insert(0, "YY")
YYEntry.grid(row = 1, column = 1, sticky = "w")
YYEntry.config(width = int(1 / 4 * YYEntry.cget("width")))

CVCEntry = Entry(Page)
CVCEntry.insert(0, "CVC")
CVCEntry.grid(row = 1, column = 2, sticky = "w")
CVCEntry.config(width = int(1 / 4 * CVCEntry.cget("width")))

当前效果

三个输入框未横向并排,呈现纵向堆叠状态。

解决方案

问题核心有两点:一是卡号输入框未占满整行,导致下方列布局错位;二是输入框宽度计算后过小,视觉上易被误认为纵向排列。修改方案如下:

  1. 给卡号输入框添加columnspan=3,让它占据3列宽度,确保下方三个输入框在同一行的不同列中排列
  2. 调整输入框宽度为固定值(或更合理比例),避免宽度过小导致布局混乱
  3. 添加padx参数调整输入框间距,提升美观度

修改后的代码:

from tkinter import *

Master = Tk()
Master.attributes("-fullscreen", True)

Page = Frame(Master)
Page.place(relx=0.5, rely=0.5, anchor="center")

# 卡号输入框,占满3列
CardnumberEntry = Entry(Page)
CardnumberEntry.insert(0, "Card number")
CardnumberEntry.config(width=30)
CardnumberEntry.grid(row=0, column=0, columnspan=3, pady=(0, 10))

# MM输入框
MMEntry = Entry(Page)
MMEntry.insert(0, "MM")
MMEntry.config(width=5)
MMEntry.grid(row=1, column=0, padx=(0, 5))

# YY输入框
YYEntry = Entry(Page)
YYEntry.insert(0, "YY")
YYEntry.config(width=5)
YYEntry.grid(row=1, column=1, padx=(0, 5))

# CVC输入框
CVCEntry = Entry(Page)
CVCEntry.insert(0, "CVC")
CVCEntry.config(width=8)
CVCEntry.grid(row=1, column=2)

Master.mainloop()

关键修改说明

  • columnspan=3:让卡号输入框横跨3列,确保下方三个输入框在同一行的列中横向排列
  • 固定宽度值:避免原代码比例计算导致的宽度过小问题,让布局更可控
  • padx/pady:添加内边距,让输入框间距更合理,提升视觉效果

内容的提问来源于stack exchange,提问作者user19222567

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 07:35:20