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

为何使用pack()方法时我的Tkinter框架无法处于同一水平位置?

用Tkinter的.pack()实现两个框架水平相邻

你当前代码里用anchor=NW和anchor=NE会让两个框架分别贴在窗口左上角和右上角,自然无法相邻。要实现水平并排,只需调整.pack()的参数:

基础固定尺寸实现

修改后的代码如下:

from tkinter import *

window = Tk()
window.title("test")
window.geometry('800x600')

question_frame = Frame(window, bg="yellow", width=400, height=450)
# side=LEFT 指定框架从左往右排列,fill=Y 确保框架保持设置的高度
question_frame.pack(side=LEFT, fill=Y)

history_frame = Frame(window, bg="blue", width=400, height=450)
history_frame.pack(side=LEFT, fill=Y)

自适应窗口大小实现

如果希望两个框架能随窗口调整自动平分宽度,添加fill=BOTH和expand=True:

from tkinter import *

window = Tk()
window.title("test")
window.geometry('800x600')

question_frame = Frame(window, bg="yellow")
question_frame.pack(side=LEFT, fill=BOTH, expand=True)

history_frame = Frame(window, bg="blue")
history_frame.pack(side=LEFT, fill=BOTH, expand=True)

关键参数说明

  • side=LEFT:指定组件排列方向,LEFT表示从左到右依次排列,也可用RIGHT实现从右到左排列
  • fill=Y/BOTH:控制组件在垂直方向(Y)或垂直+水平方向(BOTH)填充分配空间,避免框架因无内容被压缩
  • expand=True:允许窗口大小变化时,组件自动扩展占据额外可用空间

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 00:35:06