目录

前言

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. java 面试基础总结(二)---多线程

    1.实现多线程的三种方法 1.继成Thread 类,覆盖run()方法即可 2.implements Runnable接口 3.implements Callale接口,执行时通过FutureTask ...

  2. SpringBoot2.0源码分析(一):SpringBoot简单分析

    SpringBoot2.0简单介绍:SpringBoot2.0应用(一):SpringBoot2.0简单介绍 本系列将从源码角度谈谈SpringBoot2.0. 先来看一个简单的例子 @SpringB ...

  3. 第一篇:SpringBoot2.0简单介绍

    距离Spring Boot1.0发布已经4年了,今年3月份SpringBoot2.0正式发布.让我们一起来了解一下它. Spring Boot主要依赖于Spring,整合了很多框架的使用方式,帮助开发 ...

  4. 读vue-0.6-text-parser.js源码

    提取字符串中的表达式 var BINDING_RE = /\{\{(.+?)\}\}/; function parse(text) { // 找不到返回null if (!BINDING_RE.tes ...

  5. pythonic(fork)

    转载  https://wuzhiwei.net/be_pythonic/

  6. lucene-solr源码编译导入eclipse--转

    https://www.jianshu.com/p/8a217ce05475 github地址:https://github.com/apache/lucene-solr 第一步:git clone ...

  7. jquery easyui datagrid mvc server端分页排序筛选的实现

    1自定义一个ModelBinder public class filterRule { public string field { get; set; } public string op { get ...

  8. [JLOI 2016]成绩比较

    Description 题库链接( \(\text{bzoj}\) 不知道为什么过不了啊... \(\text{luogu loj}\) 都能过...就给 \(\text{luogu}\) 的链接了. ...

  9. c# Newtonsoft.Json封装

    public static T Deserialize<T>(string content) where T : class, new() { return JsonConvert.Des ...

  10. 【Java深入研究】5、Proxy动态代理机制详解

    在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的 ...