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

Tkinter中Notebook组件添加Entry输入框无法正常运行问题求助

Tkinter Notebook组件输入框添加异常解决方案

问题根因

代码的核心错误是:添加到Notebook中的子框架不需要手动调用pack()布局方法,Notebook的add()方法会自动管理内部子容器的布局,提前对frame1、frame2执行pack操作,会直接破坏Notebook的内部布局逻辑,导致后续添加的输入框被挤压无法正常显示。

核心修改点

  • 删除原本对frame1、frame2调用的pack()代码,这两行是布局异常的根源
  • 给notebook.pack()补充fill='both'参数,保证窗口拉伸时Notebook可以正常自适应填充可用空间

修正后可运行代码

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.title("Lizard Notebook")
root.geometry('600x400+50+50')
root.resizable(True, True)
root.minsize(400, 400)

notebook = ttk.Notebook(root)
notebook.pack(expand=True, fill='both')

frame1 = ttk.Frame(notebook, width=1000, height=500)
frame2 = ttk.Frame(notebook, width=1000, height=500)

notebook.add(frame1, text='Notebook')
notebook.add(frame2, text='Options')

entry = ttk.Entry(root, width=40)
entry.focus_set()
entry.pack(pady=5)

root.mainloop()

补充说明

如果你需要把输入框放到Notebook的某个标签页内,只需要修改输入框的父容器即可,比如要放到Options标签页里,把输入框定义改为:

entry = ttk.Entry(frame2, width=40)

即可正常在对应标签页显示输入框。

内容的提问来源于stack exchange,提问作者Marcel Zagórski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:15:03