1.按钮

# 按钮
# bg设置背景色
btn = tkinter.Button(root,text = '按钮',bg = 'red')
btn.pack()
# fg设置前景色(文字颜色)
btn1 = tkinter.Button(root,text = '按钮',fg = 'blue')
btn1.pack()
# font设置字体大小和样式(字体,大小,粗体,斜体等)
btn2 = tkinter.Button(root,text = '按钮',font = ('楷体',20,'italic'))
btn2.pack()
# 设置按钮高度和宽度单位:字符大小(不推荐用)
btn3 = tkinter.Button(root,text = '按钮',height = 4,width = 10)
btn3.pack()
# 设置多行文本的对齐方式right/left
btn4 = tkinter.Button(root,text = '孙悟空大\n闹天宫',justify = 'right')
btn4.pack()
# state 状态 active(激活), disabled(不能点), or normal(正常)
btn5 = tkinter.Button(root,text = '按钮',state = 'disabled')
btn5.pack()
# 边框粗细
btn5 = tkinter.Button(root,text = '按钮',bd = 5)
btn5.pack()

2.复选框

# 设置文本方法1(文本不变)
checkbutton = tkinter.Checkbutton(root,text = '同意此协议')
checkbutton.pack() # 设置文本方法2(可变文本)
# 设置显示内容的tkinter变量
text = tkinter.StringVar()
# 设置内容
text.set('同意嫁给我')
checkbutton1 = tkinter.Checkbutton(root,textvariable = text)
checkbutton1.pack()
# 设置复选框勾选与否的值,当勾选或者不勾选时 result会获取一个值
result = tkinter.IntVar() # 设置操作chenckbutton的方法:根据是否勾选获取值
def func():
print(result.get()) # onvalue = 66,offvalue = 77 勾选时值为66默认为1,不勾选时为77默认为77
checkbutton = tkinter.Checkbutton(root,text = '同意此协议',variable =result,command = func,onvalue = 66,offvalue = 77)
checkbutton.pack()

3.单行文本输入框

# 单行文本输入框
# 创建组件
# 宽度50:表示输入50个字符那么长/设置~背景色,前景色(输入的文字颜色)
username = tkinter.Entry(root,width = 50,bg = 'blue',fg = 'yellow')
username.pack()
# 密码
# show = '*':文本框中的内容显示为*
password = tkinter.Entry(root,show = '*')
password.pack()
# 没办法往里面写东西
test = tkinter.Entry(root,state = 'disabled')
test.pack()

4.Frame布局框架

# 创建框架1
frame1 = tkinter.Frame(root,bg = 'red',width = 500,height = 100)
frame1.pack(side = 'top',)
# 在框架中摆放
btn1 = tkinter.Button(frame1,text = '按钮1')
btn1.pack(side = 'left')
btn2 = tkinter.Button(frame1,text = '按钮2')
btn2.pack(side = 'left')
btn3 = tkinter.Button(frame1,text = '按钮3')
btn3.pack(side = 'left')
# 创建框架2
frame2 = tkinter.Frame(root,bg = 'blue',width = 500,height = 100)
frame2.pack(side = 'top')
# 在框架中摆放
btn1 = tkinter.Button(frame2,text = '按钮1')
btn1.pack(side = 'left',padx = 20)
btn2 = tkinter.Button(frame2,text = '按钮2')
btn2.pack(side = 'left',padx = 20)
btn3 = tkinter.Button(frame2,text = '按钮3')
btn3.pack(side = 'left',padx = 20)

   一般配合pack()布局方式使用,一般很少用到。

5.LabelFrame(标签框架)

  示例:

  

# 创建组件
labelframe = tkinter.LabelFrame(root,text = '四大美女')
labelframe.pack(ipadx = 100)
# 将其他组件摆放到labelframe中
btn1 = tkinter.Button(labelframe,text = '王昭君')
btn1.pack()
btn2 = tkinter.Button(labelframe,text = '西施')
btn2.pack()
btn3 = tkinter.Button(labelframe,text = '貂蝉')
btn3.pack()
btn4 = tkinter.Button(labelframe,text = '杨玉环')
btn4.pack()

6.Lable标签

  示例:

  

# 创建组件
label = tkinter.Label(root,text = '这是一个标签!')
label.pack()

7.Listbox列表菜单

  示例:

  

# 设置listbox的内容
names = ['杨玉环','西施','貂蝉','王昭君','潘金莲']
# 将数据转换为tkinter的字符串变量
students = tkinter.StringVar(value=names) # 创建组件
listbox = tkinter.Listbox(root,listvariable = students)
listbox.pack()

8.Menu菜单

    示例:

    

# 1创建主菜单
bigmenu = tkinter.Menu(root) # 2创建子菜单 设置tearoff = 0,让菜单不会飘出窗口
filemenu = tkinter.Menu(bigmenu,tearoff = 0)
# 子菜单可以添加功能
filemenu.add_command(label = '打开文件')
filemenu.add_command(label = '保存文件')
filemenu.add_command(label = '导出文件')
# 横线分割
filemenu.add_separator()
filemenu.add_command(label = '退出')
# 3将子菜单加入主菜单
bigmenu.add_cascade(label = '文件',menu = filemenu) # 2创建子菜单
editmenu = tkinter.Menu(bigmenu)
# 3将子菜单加入主菜单
bigmenu.add_cascade(label = '修改',menu = editmenu) # 4将主餐单加入窗口
root.config(menu = bigmenu)

9.OptionMenu设置菜单

  示例:

    

# 创建变量接受结果
result = tkinter.StringVar()
result.set('请选择一个问题:')
# 创建组件
optionmenu = tkinter.OptionMenu(root,result,'你的初恋是谁?','你的初中老师是谁?','你的高中老师是谁?')
optionmenu.pack()

10.Menubutton菜单按钮

  示例:

  

# 创建组件
menbutton = tkinter.Menubutton(root,text = '选择性别:')
menbutton.pack()
# 添加选项
# 设置变量
sex = tkinter.StringVar()
# tearoff = 0 取消菜单飘出
menu = tkinter.Menu(menbutton,tearoff = 0)
menu.add_radiobutton(label = '男',variable = sex)
menu.add_radiobutton(label = '女',variable = sex) # 将菜单配置到组件
menbutton.config(menu = menu)

11.PanedWindow划分窗口

  示例:

  

# 创建组件          垂直摆放:vertical   水平摆放:horizontal
panedwindow = tkinter.PanedWindow(root,orient = 'horizontal')
# 添加组件
btn1 = tkinter.Button(panedwindow,text = '按钮1123412341234')
btn2 = tkinter.Button(panedwindow,text = '按钮2')
# 摆放组件
panedwindow.add(btn1)
panedwindow.add(btn2)
# 填满整个界面
panedwindow.pack(fill = 'both',expand = 'yes')

12.Radiobutton单选按钮

  示例:

  

# 创建组件
sex = tkinter.StringVar()# 设置变量 radio1 = tkinter.Radiobutton(root,text = '男',variable = sex,value = 'man')
radio1.pack()
radio2 = tkinter.Radiobutton(root,text = '女',variable = sex,value = 'woman')
# 默认选中'女'
radio2.select()
radio2.pack()

13.Scale滑动条

  示例:

  

# 创建组件 默认竖着,设置横向:orient = tkinter.HORIZONTAL    设置数值:from_ = 50,to = 80     设置单位:resolution = 0.5
scale = tkinter.Scale(root,orient = tkinter.HORIZONTAL,from_ = 50,to = 80,resolution = 0.5)
scale.pack()

14.Scrollbar滚动条

  示例:

  

# 创建组件:简单的滚动条效果
scroll = tkinter.Scrollbar(root)
scroll.pack(fill = 'y',side = 'right')

15.Spinbox类型限制输入框(数字)

  示例:

  

# 创建组件  设置范围:from_ = 0,to = 100     设置增加单位:increment = 0.5
spinbox = tkinter.Spinbox(root,from_ = '',to = '',increment = 0.5)
spinbox.pack()

16.Text多行文本输入框

  示例:

  

# 创建组件
text = tkinter.Text(root,width = 50,height = 10)
text.pack()
# 设置值:从第0行第0列开始插入文本
text.insert('0.0','你好啊~小姐姐')

17.Toplevel弹出窗口

  示例:

  

# 函数
def talk():
# 新窗口
newroot = tkinter.Toplevel()
# 创建组件:弹出新窗口 点击按钮执行函数:command = talk
btn = tkinter.Button(root,text = '点击开始对话~',command = talk)
btn.pack()

python_tkinter组件的更多相关文章

  1. python_tkinter组件摆放方式

    1.最小界面组成 # 导入tkinter模块 import tkinter # 创建主窗口对象 root = tkinter.Tk() # 设置窗口大小(最小值:像素) root.minsize(30 ...

  2. ExtJS 4.2 评分组件

    上一文章是扩展ExtJS自带的Date组件.在这里将创建一个评分组件. 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2上的一个RatingStar ...

  3. react组件的生命周期

    写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...

  4. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  5. Angular2入门系列教程3-多个组件,主从关系

    上一篇 Angular2项目初体验-编写自己的第一个组件 好了,前面简单介绍了Angular2的基本开发,并且写了一个非常简单的组件,这篇文章我们将要学会编写多个组件并且有主从关系 现在,假设我们要做 ...

  6. Angular2入门系列教程2-项目初体验-编写自己的第一个组件

    上一篇 使用Angular-cli搭建Angular2开发环境 Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来 紧接着 ...

  7. .NET Core 首例 Office 开源跨平台组件(NPOI Core)

    前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET C ...

  8. .NetCore中的日志(1)日志组件解析

    .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

  9. BootStrap_02之全局样式及组件

    1.BootStrap指定的四种屏幕尺寸: ①超大PC屏幕--lg(large):w>=1200px: ②中等PC屏幕--md(medium):1200px>w>=992px: ③P ...

随机推荐

  1. pytorch API中sgd.py的学习记录

    参考:PyTorch与caffe中SGD算法实现的一点小区别 其中公式(3)(4)的符号有问题 变量对应表 程序 参考文章 buf v momentum μ d_p Δf(θ) lr ξ p θ

  2. C语言--分支结构

    一.PTA实验作业 题目1:7-1 计算分段函数[2] 1.实验代码 float x, y; printf("Enter x:\n"); scanf("%f", ...

  3. poj1269 (叉积求直线的交点)

    题目链接:https://vjudge.net/problem/POJ-1269 题意:给出4个顶点,表示两条直线,求这两条直线的相交情况,重合输出LINE,平行输出NONE,相交于一点输出该点的距离 ...

  4. [转帖]三款Nehalem至强5500塔式服务器横评对决(4)

    三款Nehalem至强5500塔式服务器横评对决(4) http://tech.sina.com.cn/b/2009-12-14/05051172233_4.shtml 可以看到两路服务器的设置 基本 ...

  5. 飞腾PC机器与奔腾G645的PC机器以及E5-2630V4虚拟机内存性能简单对比

    1. 对比工具 sysbench 2. 对比命令 sysbench --test=memory --memory-total-size=12G --num-threads= run 3 安装方式 #u ...

  6. ubuntu 18.04 LTS 安装ROS系统

    不同的ubuntu系统对应着不同的ROS版本,如果装错了就会提示 E:无法定位软件包 ROS有Melodic.Lunar.Kinetic不同的种类对应着不同的ubuntu版本 Melodic主要对应: ...

  7. 使用JavaScript随机生成数字混合字母的验证码

      <script> // 封装一个随机生成数字的函数 function random(a, b) { var n = Math.round(Math.random() * (a - b) ...

  8. gitlab LFS 的应用实践

    今天看到的gitlab LFS的文档,将自己的理解整理成博客,加深自己的印象.具体gitlab LFS的介绍可以直接百度了,不在这里详细阐述.只提一下他的作用:LFS就是Large File Stor ...

  9. 【leetcode】287. 寻找重复数

    题目链接:传送门 题目描述: 给定一个数组 nums 包含 n + 1 个整数,每个整数在 1 到 n 之间,包括 1 和 n.现在假设数组中存在一个重复的数字,找到该重复的数字. 注意 不能修改数组 ...

  10. MySql 8.0.11 客户端连接失败:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: ....

    近期,换了新笔记本,重新安装了MySql数据库和客户端工具Navicat Premium 12.我是从官网上下载的MySql数据库,版本为8.0.11,链接:https://dev.mysql.com ...