目录

前言

Frame与Labelframe都是容器,用来存放其他控件,也是用来更好的管理布局。

我一般是用来存放一组相关的控件,让Frame与Labelframe成为其他控件的父控件。

(一)Frame

(1)说明:

tk.Frame(master, option*)

一般用颜色来区分Frame的位置

(2)源代码:

import tkinter as tk

win = tk.Tk()

# 定义第一个容器
frame_left = tk.Frame(win, bg="green")
frame_left.place(relx=0.2, rely=0.2, relwidth=0.3, relheight=0.6) label_1 = tk.Label(frame_left, text="富强")
label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_left, text="民主")
label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_left, text="文明")
label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_left, text="和谐")
label_4.place(relx=0.6, rely=0.6) # 定义第二个容器
frame_right = tk.Frame(win, bg="yellow")
frame_right.place(relx=0.5, rely=0.2, relwidth=0.3, relheight=0.6)
label_1 = tk.Label(frame_right, text="自由")
label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_right, text="平等")
label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_right, text="公正")
label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_right, text="法治")
label_4.place(relx=0.6, rely=0.6) win.mainloop()

(3)输出效果:

(二)Labelframe

(1)说明:

大体上,Labelframe与Frame属性选项一样。

Labelframe有两点不同于Frame:

  1. Labelframe默认的边框使tk.GROOVE,relief=tk.GROOVE
  2. Labelframe还可以再边框写文字,即:text="文字"
边框文字的位置:

默认是:labelanchor="wn"

(2)源代码:

import tkinter as tk

win = tk.Tk()

# 定义第一个容器
frame_left = tk.LabelFrame(win, text="国家层面", labelanchor="n")
frame_left.place(relx=0.2, rely=0.2, relwidth=0.3, relheight=0.6) label_1 = tk.Label(frame_left, text="富强")
label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_left, text="民主")
label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_left, text="文明")
label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_left, text="和谐")
label_4.place(relx=0.6, rely=0.6) # 定义第二个容器
frame_right = tk.LabelFrame(win, text="社会层面", labelanchor="n")
frame_right.place(relx=0.5, rely=0.2, relwidth=0.3, relheight=0.6)
label_1 = tk.Label(frame_right, text="自由")
label_1.place(relx=0.2, rely=0.2) label_2 = tk.Label(frame_right, text="平等")
label_2.place(relx=0.6, rely=0.2) label_3 = tk.Label(frame_right, text="公正")
label_3.place(relx=0.2, rely=0.6) label_4 = tk.Label(frame_right, text="法治")
label_4.place(relx=0.6, rely=0.6) win.mainloop()

(3)输出效果:

作者:Mark

日期:2019/02/15 周五

tkinter学习系列之(七)Frame与Labelframe 控件的更多相关文章

  1. tkinter学习系列之(八) Canvas控件

    目录 目录 前言 (一)carves创建方法 (二)carves的画图方法 目录 前言 由于最近想在tkinter里内嵌matplotlib,由于用到tkinter里的carves控件,先学习一下. ...

  2. tkinter学习系列(四)之Button 控件

    目录 目录 前言 (一)基本用法和可选属性 ==1.基本用法== ==2.可选属性== (二)属性的具体实现和案例 ==1.常用属性== ==案例一== ==2.按钮里的图片== ==案例二== == ...

  3. tkinter学习系列(三)之Label控件

    目录 目录 前言 (一)基本用法和可选属性 ==1.基本用法== ==2.可选属性== (二)属性的具体使用 ==1.常用属性== ==2.边距与文本对齐方式== ==案例一== ==案例一的效果== ...

  4. tkinter学习系列之(六)Radiobutton控件

    目录 目录 前言 (一)基本属性 (二)在Frame里布局: 目录 前言 Radiobutton单选框,在一组选框中,只能选中一个. (一)基本属性 (1)特有属性: value 按钮的值 varia ...

  5. tkinter学习系列之(五)Checkbutton控件

    目录 目录 前言 (一)基本属性 (二)案例 1.简单的复选框 2.组合复选框 目录 前言 复选框:可以同时多选的一组框,其只有两种状态,选中与未选中. (一)基本属性 (1)说明: tkinter里 ...

  6. .NET MVC 学习笔记(七)— 控制input控件

    .NET MVC 学习笔记(七)— 控制input控件 画面中有时候需要输入数字,这时就需要控制input的输入.以下为保留两位有效数字. /* * 初始化数字输入 */ function initD ...

  7. WP8.1学习系列(第十二章)——全景控件Panorama开发指南

    2014/6/18 适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1 全景体验是本机 Windows ...

  8. Vue.js学习笔记 第七篇 表单控件绑定

    本篇主要说明表单控件的数据绑定,这次没有新的知识点 文本框 1.普通文本框 <div id="app-1"> <p><input v-model=&q ...

  9. Python学习系列(七)( 数据库编程)

    Python学习系列(七)( 数据库编程)        Python学习系列(六)(模块) 一,MySQL-Python插件       Python里操作MySQL数据库,需要Python下安装访 ...

随机推荐

  1. CentOS 6.5静态IP的设置(NAT和桥接联网方式都适用)

    不多说,直接上干货! 为了方便,用Xshell来.并将IP设置为静态的.因为,在CentOS里,若不对其IP进行静态设置的话,则每次开机,其IP都是动态变化的,这样会给后续工作带来麻烦.为此,我们需将 ...

  2. 最全的maven的pom.xml文件详解

    pom.xml代码: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...

  3. interface21 - web - ContextLoaderListener(Spring Web Application Context加载流程)

    前言 最近打算花点时间好好看看spring的源码,然而现在Spring的源码经过迭代的版本太多了,比较庞大,看起来比较累,所以准备从最初的版本(interface21)开始入手,仅用于学习,理解其设计 ...

  4. SVM笔记

    1.前言 SVM(Support Vector Machine)是一种寻求最大分类间隔的机器学习方法,广泛应用于各个领域,许多人把SVM当做首选方法,它也被称之为最优分类器,这是为什么呢?这篇文章将系 ...

  5. 深入理解kafka设计原理

    最近开研究kafka,下面分享一下kafka的设计原理.kafka的设计初衷是希望作为一个统一的信息收集平台,能够实时的收集反馈信息,并需要能够支撑较大的数据量,且具备良好的容错能力. 1.持久性 k ...

  6. PHP连接Memcache代码

    <?php $mem = new Memcache; $mem->connect('127.0.0.1', 11211) or die ("Could not connect&q ...

  7. php 常用$_SERVER变量列表

    $_SERVER['HTTP_ACCEPT_LANGUAGE'] //浏览器语言 $_SERVER['REMOTE_ADDR'] //当前用户 IP . $_SERVER['REMOTE_HOST'] ...

  8. git第七节---git merge和git rebase

    # git merge和git rebase 都可以进行分支合并 #git merge 合并后保留记录两个分支的记录 #git rebase合并后会展示成一个分支的记录,另一个分支的提交实际生成了一个 ...

  9. IceCTF 图片隐写

    blue monday 下载一个文件,知道是MIDI文件,后缀改为.mid可以直接播放 一开始以为是两种乐器构成摩斯密码,后来在winhex里看字符发现了每一段的第一个字母恰好有flag的形式,于是提 ...

  10. 【Elasticsearch全文搜索引擎实战】之Head插件实践

    简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...