python-3.x - Python Tkinter Notebook 使用“.place”定位小部件
问题描述
我无法弄清楚为什么使用“.place”时小部件不可见。它在使用“.pack”时起作用。我的 GUI 需要精确定位小部件,因此我需要使用“.place”。我做错什么了吗?
环境:Python:3.9.6 Windows 10 (21H1)
import tkinter as objTK
from tkinter import ttk as objTTK
root = objTK.Tk()
root.title("Tab Widget")
tabControl = objTTK.Notebook(root)
objSummaryTab = objTTK.Frame(tabControl)
objSettingsTab = objTTK.Frame(tabControl)
tabControl.add(objSummaryTab, text ='Summary')
tabControl.add(objSettingsTab, text ='Settings')
lb1 = objTTK.Label(objSummaryTab, text ="Summary")
lb1.place(x=5, y=5)
lb2 = objTTK.Label(objSettingsTab, text ="Settings")
lb2.place(x=5, y=5)
tabControl.place(x=5, y=5)
root.bind("<Escape>", lambda _: root.destroy())
root.geometry("500x500")
root.mainloop()
解决方案
这个错误是因为place()
不会自动调整小部件的大小,like pack()
and grid()
do。例如,您需要为:指定width
和height
参数。在这种情况下,和以像素为单位。tabControl
tabControl = objTTK.Notebook(root, width=100, height=100)
width
height
推荐阅读
- snowflake-cloud-data-platform - 如何计算字符串中的单词数
- reactjs - 如何在 react-native 中显示图像(“content-disposition”:“attachment”)?
- kubernetes - 如何处理 K8s go client informer 错误事件
- python - Discord Bot 中的 NameError
- google-cloud-dataflow - 使用 Apache Beam 根据计数过滤掉
- angular - Angular Material 嵌套手风琴模板被我的父手风琴拾取
- python - 基于唯一且防止重复的模式数据创建 id
- kotlin - Kotlin 作为协程之间的消息队列流动
- ietf-netmod-yang - 为 netconf 编辑配置请求创建原子进程
- python - XGBoost 回归目标函数,我最关心预测底部十分位数