tkinter:Frame

本文介绍了Tkinter库中的Frame功能,它能帮助简化布局管理,通过设置不同样式创建区域来组织组件。示例代码展示了如何利用Frame进行多行文本展示,并提供了两种风格的诗词展示,强调了`groove`样式的美观性。通过Frame,可以更方便地在窗口上划分和管理组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

有时候,我们需要布局,这个时候尺寸就起到重要的作用,但是尺寸很难把握,不利于设计。这个时候框架就起到作用了。tkinter.Frame()设计一个框架,让后,在此框架中加入组件,这样组织起来就比较方便了。

root
Frame
多个 Label

二、代码

import tkinter as tk
root = tk.Tk()
relief = ["raised", "sunken", "flat", "ridge", "groove", "solid"]
for i, r in enumerate(relief):
    frame = tk.Frame(root, bd=2, relief=r)
    frame.pack(side="left", anchor='n', padx=10, pady=5)
    tk.Label(frame, text=str(i+1)).pack()
    tk.Label(frame, text=r).pack()
    for j in r:
        tk.Label(frame, text=j*4).pack()
root.mainloop()

效果
Frame

三、解释

  1. 框架为我们单独划分了一个区域,用于组织功能相似的组件
  2. 框架简化了我们布局的难度
  3. 框架有6中样式 "raised" "sunken" "flat" "ridge" "groove" "solid",个人认为"groove"比较好看
  4. 代码中使用了enumerate()可以返回元素的序号和对应的内容

四、举一反三

代码

import tkinter as tk

root = tk.Tk()

f1 = tk.Frame(root, bd=5, relief="groove")
f1.pack(side="left", anchor='n', padx=5, fill="y")
content1 = "九歌-国殇\n\
操吴戈兮披犀甲,车错毂兮短兵接。\n\
旌蔽日兮敌若云,矢交坠兮士争先。\n\
凌余阵兮躐余行,左骖殪兮右刃伤。\n\
霾两轮兮絷四马,援玉枹兮击鸣鼓。\n\
天时怼兮威灵怒,严杀尽兮弃原野。\n\
出不入兮往不反,平原忽兮路超远。\n\
带长剑兮挟秦弓,首身离兮心不惩。\n\
诚既勇兮又以武,终刚强兮不可凌。\n\
身既死兮神以灵,魂魄毅兮为鬼雄。"
tk.Label(f1, text=content1).pack()

f2 = tk.Frame(root, bd=5, relief="groove")
f2.pack(side="left", anchor='n', padx=5, fill="y")
content2 = "小池-杨万里\n\
泉眼无声惜细流,树阴照水爱晴柔。\n\
小荷才露尖尖角,早有蜻蜓立上头。\n\
"
tk.Label(f2, text=content2).pack()
im = tk.PhotoImage(file="yang.png")
tk.Label(f2, image=im).pack()

root.mainloop()

效果
Frame应用

五、总结

Frame对我们租出组件很方便,当我们需要在root窗口上开拓新的区域的时候,就可以使用tkinter.Frame(root)

补充: tkinter 组件详解之Frame查看Frame参数的一些含义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值