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

如何在Tkinter中使用pack方法将两个按钮固定在窗口底部左右两侧

问题原因

你当前的写法中,两次调用pack(side=tk.BOTTOM)会让两个按钮分别独占窗口底部的一整行空间:第一个按钮占据最底部整行、左对齐,第二个按钮占据第一个按钮上方的整行、右对齐,自然无法实现同一行左右两端放置的效果。

解决方案

改动最小的方案是先在窗口底部加一个占满全宽的容器Frame,再将两个按钮放到这个Frame的左右两侧:

  1. 首先创建底部容器Frame,固定在窗口底部且自动填充水平宽度:
# 仅需在创建按钮前新增这两行代码即可
bottom_frame = tk.Frame(fightWindow)
bottom_frame.pack(side=tk.BOTTOM, fill=tk.X)
  1. 修改按钮的父容器为新建的bottom_frame,调整pack参数:
if not newbuttonthere: # 可合并重复的判断逻辑,不需要写两次相同的判断
    new_button = tk.Button(bottom_frame, text="New", fg="black", command=newcharacter, font=("Courier", 20, "bold"))
    new_button.pack(side=tk.LEFT, padx=10, pady=5) # padx/pady可按需调整按钮的边距更美观
    new_button.configure(bg="grey")

    newM_button = tk.Button(bottom_frame, text="New Monster", fg="black", command=newmonster, font=("Courier", 20, "bold"))
    newM_button.pack(side=tk.RIGHT, padx=10, pady=5)
    newM_button.configure(bg="grey")
效果说明

底部的Frame会跟随窗口大小变化自动填充整个水平方向的宽度,其中靠左、靠右放置的按钮也会跟随容器固定在左右两端,调整窗口大小时始终保持在左下角、右下角的位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:06:03