python - Tkinter Python frame.pack() 命令没有给出预期的输出
问题描述
我一直在关注其frame widget的Tkinter Python 教程。(在使用框架小部件将小部件分配给框架
的小节下。按该短语搜索以轻松到达那里。)
frame_a=tk.Frame()
frame_b=tk.Frame()
label_a=tk.Label(text="I am frame A")
label_a.master=frame_a
label_a.pack()
label_b=tk.Label(text="I am frame B")
label_b.master=frame_b
label_b.pack()
frame_a.pack()
frame_b.pack()
当我运行这段代码时,它成功地给出了输出。
考虑最后两行;本教程建议更改它们的顺序,并放在frame_b.pack()
前面frame_a.pack()
,这将使短语“我是框架 B”将出现在最前面,因为frame_b 首先被打包。
但是,我得到与以前相同的输出。我在这里做错了什么?(代码运行没有错误。)
解决方案
正如@Brian 评论的那样, label_a.master() 没有做任何事情,所以像这样移动 label.pack() 命令:
frame_a=tk.Frame()
frame_b=tk.Frame()
label_a=tk.Label(text="I am frame A")
label_b=tk.Label(text="I am frame B")
label_b.pack()
label_a.pack()#Moved
frame_b.pack()
frame_a.pack()
推荐阅读
- css - CSS 样式表未在服务器上更新
- javascript - RxJs- Observable - 如何从 JSON 对象中获取数据
- graphql - prisma 基于哪个数据库服务器?
- microsoft-translator - Microsoft Translator Text API 打破 notranslate spans
- android - 如何检查 Firebase 中的现有数据?
- c# - 可空类型究竟什么时候抛出异常?
- hadoop - 使用 Apache Solr 导入或索引 Hive/HDFS 数据
- php - 如何在 Sonata Admin(Symfony 3.3、PHP 7)中使用自定义 javascript 为模态窗口扩展模板?
- amazon-web-services - 通过此更改,我会获得更好的 dynamodb 吞吐量吗?
- python - 如何在熊猫数据框中指定列类型