IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python中GUI设计之tkinter控件的使用(容器控件之Frame框架和LabelFrame标签框架以及TopLevel顶层窗口) -> 正文阅读

[Python知识库]Python中GUI设计之tkinter控件的使用(容器控件之Frame框架和LabelFrame标签框架以及TopLevel顶层窗口)

1. 框架的基本概念:

这是一个容器控件,当我们设计GUI和复杂的时候,可以用考虑将一系列的Weight组织在一个框架内,这样会方便管理。

2. 框架:Frame ,与C#中的Panel类似

格式:Frame(父对象,options…)
options:下面总结一部分常用的。

  1. borderwidth或者bd:标签边界宽度,默认2。
  2. height:框架的高度,单位是像素。
  3. relief:默认是relief=FLAT,可以控制框架外框。
  4. width:框架的宽度,单位是像素。
  5. cursor:设置当鼠标移动到控件上时鼠标的样式。

示例1:

from tkinter import *

root = Tk()
root.title("Frame")

# 遍历RGB三种颜色,并创建Frame控件,赋值背景色
fms = {'red':'cross','green':'boat','blue':'clock'}
for fmColor in fms:
    Frame(root,bg = fmColor,cursor = fms[fmColor],height = 50,width = 200).pack(side = LEFT)
     
root.mainloop()

运行:
在这里插入图片描述

示例2:在框架上添加Widget控件

A = Frame(root, options…) # 传回框架对象A
btn = Button(A, …) # 框架对象A是btn功能按钮上的父容器

from tkinter import*
 
root=Tk()
root.title("Add widget control in frame")

# 创建上Frame
frameUpper=Frame(root,bg="lightyellow")
frameUpper.pack()

# 将三个按钮分别添加到上面的Frame上
btnRed=Button(frameUpper,text="Red",fg="red")
btnRed.pack(side=LEFT,padx=5,pady=5)

btnGreen=Button(frameUpper,text="Green",fg="green")
btnGreen.pack(side=LEFT,padx=5,pady=5)

btnBlue=Button(frameUpper,text="Blue",fg="blue")
btnBlue.pack(side=LEFT,padx=5,pady=5)


# 创建下Frame
frameLower=Frame(root,bg="lightblue")
frameLower.pack()

# 将按钮添加到下Frame
btnPurple=Button(frameLower,text="Purple",fg="purple")
btnPurple.pack(side=LEFT,padx=5,pady=5)

root.mainloop()

运行:
在这里插入图片描述

3. 标签框架:LabelFrame, 与C#中的GroupBox控件相同

LabelFrame(父容器,options…)
其中options的包含主要的:

  1. font:标签框架的字形。
  2. labelAnchor:设置放置标签的位置。
  3. text:标签内容。

示例1:将标签框架应用与复选框

from tkinter import*

# 遍历checkboxes数组,并打印所有状态为true的元组
def printInfo():
    selection=''
    for i in checkboxes:
        if checkboxes[i].get()==True:
            selection=selection+sports[i]+"\t"
    print(selection)
            
root=Tk()
root.title("LabelFrame add checkboxs")
root.geometry("400x220")

labFrame=LabelFrame(root,text="选择你最喜欢的运动项目")
sports={0:"足球",1:"棒球",2:"篮球",3:"网球"}
checkboxes={}
for i in range(len(sports)):
    checkboxes[i]=BooleanVar()
    # 创建CheckBox复选框,父容器为 LabelFrame 
    Checkbutton(labFrame,text=sports[i],variable=checkboxes[i]).grid(row=i+1,sticky=W)
    
labFrame.pack(ipadx=5,ipady=5,pady=10)

# 创建一个button,绑定事件为 printInfo
btn=Button(root,text="确定",width=10,command=printInfo)
btn.pack()

root.mainloop()

运行:
在这里插入图片描述

4. 顶层窗口 : TopLevel

与Frame类似,但是TopLevel产生的是一个独立的窗体。关闭TopLevel窗口,原窗口可以继续使用,但是如果关闭了原窗口,TopLevel窗口则会自动关闭。

from tkinter import *
import random

root=Tk()
root.title("TopLevel")

msgYes,msgNo,msgExit=1,2,3
def MessageBox():
    msgType=random.randint(1,3)
    if msgType==msgYes:
        labTxt='YES'
    elif msgType==msgNo:
        labTxt='NO'
    elif msgType==msgExit:
        labTxt='Exit'
        
    # 创建Toplevel窗体
    tl=Toplevel()
    tl.geometry("300x180")
    tl.title("MessageBox")
    # 打印Label标签到MessageBox上
    Label(tl,text=labTxt).pack(fill=BOTH,expand=True)
    
btn=Button(root,text='Click me',command=MessageBox)
btn.pack()

root.mainloop()

运行:
在这里插入图片描述
先更新到这里,后面有时间再补,拜了个拜。。。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:25:22  更:2021-07-13 17:25:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 10:09:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码