1. Label控件

  说明:标签控件,可显示文本

  图示1:

  

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk() # 设置标题
win.title("Thomas的窗口") # 设置大小和位置
win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # Label:标签控件,可以显示文本
# win:父窗体
# text:显示的文本内容
# width: 高度
# height:宽度
# bg:背景色
# fb:字体颜色,前景色
# font:字体和字体的大小
# wraplength:指定text文本中多宽进行换行
# justify:设置换行后的对齐方方法
# anchor:位置 e s w n(东南西北),center中心,es,ws,en,wn(东南,西南,东北,西北)
label = tkinter.Label(win,
text="Thomas is a good man",
bg = "black",
fg = "white",
font = ("黑体",),
width = ,
height = ,
wraplength = ,
justify = "left",
anchor = "e")
# 显示出来
label.pack() # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:让标签显示出现要进行pack放置的命令。

2.  Button控件

  说明:

  Button控件表示按钮

  图示1:

  实例1:

import tkinter

def func():
print("Thomas is a good man") # 创建主窗口__编程头部
win = tkinter.Tk() # 设置标题
win.title("Thomas的窗口") # 设置大小和位置
win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # Button:创建按钮
# win:父窗体
# text:显示的文本内容
button1 = tkinter.Button(win, text="按钮", command=func, width=, height=)
# func:写函数的方式
button1.pack() button2 = tkinter.Button(win, text="按钮", command=lambda:print("Thomas is handsome man"),
width=, height=)
# lambda表达式
button2.pack() button3 = tkinter.Button(win, text="按钮", command=win.quit, width=, height=)
# win.quit/win.destroy 退出
button3.pack() # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:comand用于放置事件,事件一般可以导入函数形式、lambda表达式方式、或者win.quit的内置函数

 3.Entry控件

  说明1:

  Entry表示为输入控件,用于显示简单的文本。

  图示1:

  实例1:

import tkinter

def func():
print("Thomas is a good man") # 创建主窗口__编程头部
win = tkinter.Tk() # 设置标题
win.title("Thomas的窗口") # 设置大小和位置
win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # Entry:输入控件
# 用于显示简单的文本内容
# 绑定变量
e = tkinter.Variable()
# show 密文显示 ****/....等
#
entry = tkinter.Entry(win, show = "*",textvariable = e) entry.pack()
# e就代表输入框这个对象
# 设置值
e.set("sunck is a good man")
# 取值
print(e.get())
print(entry.get()) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:在这里用于到了绑定变量,绑定变量用textvariable来接受这个绑定变量,绑定变量分数值型、布尔型等。其中获取变量用的get方式获取。

  说明2:

  我们在用一个点击输出内容的方式。

  图示2:

  实例2:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk() # 设置标题
win.title("Thomas的窗口") # 设置大小和位置
win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 def showInfo():
print(entry.get()) entry = tkinter.Entry(win)
entry.pack()
button = tkinter.Button(win,text="按钮",command=showInfo)
button.pack() # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:用于点击输入的方式。

 4. Text控件

  说明1:

  普通的文本控制方式,用于显示多行文本,不带滚动条。

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # Text:文本控件。用于显示多行文本。
# heigth:表示显示的行数
text = tkinter.Text(win,width=,height=)
text.pack()
str = '''I stand here today humbled by the task before us, grateful for the trust you have bestowed, mindful of the sacrifices borne by our ancestors. I thank President Bush for his service to our nation, as well as the generosity and cooperation he has shown throughout this transition.
'''
# 插入文本
text.insert(tkinter.INSERT,str) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:插入文本我们用了一个insert的方式。

  说明2:

  用于显示文本的滚动条。

  图示2:

  实例2:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
# win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # 创建滚动条
scroll = tkinter.Scrollbar()
text = tkinter.Text(win,width=,height=)
# side放到窗体的那一侧,fill把Y轴方向填满。
scroll.pack(side=tkinter.RIGHT,fill=tkinter.Y)
text.pack(side=tkinter.LEFT,fill=tkinter.Y)
# 关联
scroll.config(command=text.yview)
text.config(yscrollcommand=scroll.set) str = '''
I stand here today humbled by the task before us, grateful for the trust you have bestowed, mindful of the sacrifices borne by our ancestors. I thank President Bush for his service to our nation, as well as the generosity and cooperation he has shown throughout this transition.
'''
# 插入文本
text.insert(tkinter.INSERT,str) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:注意这里我们用到了一个config的方法去设置位置。

 5. CheckButton控件

  说明:

  这个叫多选框控件。后面有对应的单选框控件。

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # CheckButton:多选框控件
def update():
message =""
if hobby1.get() == True:
message += "money\n"
if hobby2.get() == True:
message += "power\n"
if hobby3.get() == True:
message += "people\n" # 清除所有text所有内容
text.delete(0.0,tkinter.END)
text.insert(tkinter.INSERT,message) # 要绑定的变量
hobby1 = tkinter.BooleanVar()
# 多选框
check1 = tkinter.Checkbutton(win,text="Money",variable=hobby1,command=update)
check1.pack() hobby2 = tkinter.BooleanVar()
check2 = tkinter.Checkbutton(win,text="power",variable=hobby2,command=update)
check2.pack() hobby3 = tkinter.BooleanVar()
check3 = tkinter.Checkbutton(win,text="people",variable=hobby3,command=update)
check3.pack() text = tkinter.Text(win,width=,height=)
text.pack() # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:我们这里还用到一个布尔型的绑定变量。

 6. RadioButton控件

  说明1:

  单选框控件。

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # Radiobutton:单选框控件 def update():
print(r.get()) # 绑定变量
# 注意:一组单选框要绑定同一个变量
r = tkinter.IntVar() #绑定整型
# r = tkinter.StringVar() # 绑定字符串 radio1 = tkinter.Radiobutton(win,text="one",value=,variable=r,command=update)
radio1.pack() radio2 = tkinter.Radiobutton(win,text="two",value=,variable=r,command=update)
radio2.pack() radio3 = tkinter.Radiobutton(win,text="three",value=,variable=r,command=update)
radio3.pack() # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

7. Listbox控件

  说明1:

  列表框控件。可以包含一个或多个文本框。

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Listbox:列表框控件。可以包含一个或多个文本框。
# 所用:在Listbox小窗口显示一个字符串。常用于目录选择。 # 、创建一个Listbox,添加几个元素
listbox = tkinter.Listbox(win,selectmode=tkinter.BROWSE)
listbox.pack() for item in ["good","nice","handsome","cool","vg","vn"]:
# 按顺序添加
listbox.insert(tkinter.END,item)
# 在开始添加
# listbox.insert(tkinter.ACTIVE,"cool")
# 将列表当做一个元素添加
# listbox.insert(tkinter.END,["very good","very nice"]) # 删除:
# 参数1为开始的索引,参数2为结束的索引,如果不指定参数2,只删除第一个索引处的内容
# listbox.delete(,)
# 下标为1的元素
# listbox.delete() # 选中
listbox.select_set(,)
# listbox.select_set() # 取消
# listbox.select_clear(,)
# listbox.select_clear() # 获取到列表中的元素个数
# print(listbox.size()) # 获取值,返回一个元组
# print(listbox.get(,))
# print(listbox.get()) # 返回当前的索引项,不是item元素
print(listbox.curselection()) # 判断一个选项是否被选中,返回为布尔值
print(listbox.select_includes())
print(listbox.select_includes()) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

  说明2:

  列表框控件。可以包含一个或多个文本框。在Listbox小窗口显示一个字符串。用于目录选择。与BROWSE相似,但不支持鼠标移动选中位置。

  图示2:

  实例2:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Listbox:列表框控件。可以包含一个或多个文本框。
# 所用:在Listbox小窗口显示一个字符串。常用于目录选择。 # 绑定变量
lbv = tkinter.StringVar() # 与BROWSE相似,但不支持鼠标移动选中位置。
lb = tkinter.Listbox(win,selectmode=tkinter.SINGLE,listvariable=lbv)
lb.pack()
for item in ["good","nice","handsome","cool","vg","vn"]:
# 按顺序添加
lb.insert(tkinter.END,item) # 打印当前列表中的选项
print(lbv.get()) # 设置选项
lbv.set(("","","")) # 绑定事件
def myPrint(event): # event需要一个时间参数不用传参
print(lb.get(lb.curselection()))
lb.bind('<Double-Button-1>',myPrint) # 点两下-按钮-鼠标左键 # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

  说明3:

  Listbox里诶包控件。可以包含一个或多个文本框。

  图示3:

  实例3:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
# win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Listbox:列表框控件。可以包含一个或多个文本框。
# 所用:在Listbox小窗口显示一个字符串。常用于目录选择。 # EXTENDED:可以使Listbox支持shift和control,实现连选和多选。
lb = tkinter.Listbox(win,selectmode=tkinter.EXTENDED) for item in ["good","nice","handsome","cool","vg","vn","good1","nice1","handsome1","cool1","vg1","vn1","good3","nice3","handsome3","cool3","vg3","vn3"]:
# 按顺序添加
lb.insert(tkinter.END,item) # 滚动条
sc = tkinter.Scrollbar(win)
sc.pack(side=tkinter.RIGHT,fill=tkinter.Y)
lb.configure(yscrollcommand=sc.set)
lb.pack(side=tkinter.LEFT,fill=tkinter.BOTH)
# 额外给属性赋值
sc['command'] = lb.yview # command是这个数据类型中的键名,赋值给给内容 # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

  说明4:

   MULTIPLE支持多选。

  图示4:

  实例4:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
# win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Listbox:列表框控件。可以包含一个或多个文本框。
# 所用:在Listbox小窗口显示一个字符串。常用于目录选择。 # MULTIPLE:支持多选。
lb = tkinter.Listbox(win,selectmode=tkinter.MULTIPLE)
lb.pack()
for item in ["good","nice","handsome","cool","vg","vn","good1","nice1","handsome1","cool1","vg1","vn1","good3","nice3","handsome3","cool3","vg3","vn3"]:
# 按顺序添加
lb.insert(tkinter.END,item) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

 8. Scale控件

  说明1:

  供用户通过拖拽指示器改变变量的值。可以说也可以竖直

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # 供用户通过拖拽指示器改变变量的值。可以水平,也可以竖直
# orient=tkinter.HORIZONTAL/VERTICAL 水平/竖直拖拽,默认是竖直的
# lenght:水平时表示宽度,顺直时表示高度
# tickinterval 选择值将会为该值的倍数
scale = tkinter.Scale(win,from_=,to=,orient=tkinter.VERTICAL,tickinterval=,length=)
scale.pack() # 设置值
scale.set() # 获取值
def showNum():
print(scale.get())
tkinter.Button(win,text="按钮",command=showNum).pack()
print(scale.get()) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

9. Spinbox控件

  说明1:

  数值范围控件。

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Spinbox:数值范围控件
# increment=:步长,默认为1
# values:最好不要from_/to一起使用。value=(,,,,)
# command:只要值改变就会执行对应的方法 # 添加方法
def update():
print(v.get()) # 绑定变量
v = tkinter.StringVar() sp = tkinter.Spinbox(win,from_=,to=,increment=,textvariable=v,command=update)
sp.pack() # 设置值
v.set() # 取值
print(v.get()) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

10. Menu控件

  说明1:

  菜单控件。

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Menu:顶层菜单 # 菜单条
menubar = tkinter.Menu(win)
# 设置菜单
win.config(menu=menubar) # 设置命令方法
def func():
print("Thomas is a good man") # 创建一个菜单选项
menu1 = tkinter.Menu(menubar,tearoff=False)
# 给菜单选项添加内容
for item in ["Python","C","C++","OC","Swift","C#","shell","Java","JS","PHP","汇编","NodeJS","退出"]:
if item == "退出":
# 添加分割线
menu1.add_separator()
menu1.add_command(label=item,command=win.quit)
else:
menu1.add_command(label=item,command=func) # 向菜单条上添加菜单选项
menubar.add_cascade(label="语言",menu=menu1) # 在创建一个
menu2 = tkinter.Menu(menubar,tearoff=False)
menu2.add_command(label="red")
menu2.add_command(label="blue")
menubar.add_cascade(label="颜色",menu=menu2) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

  说明2:

  图示2:

  实例2:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Menu:顶层菜单 # 菜单条
menubar = tkinter.Menu(win) menu = tkinter.Menu(menubar,tearoff=False)
# 给菜单选项添加内容
for item in ["Python","C","C++","OC","Swift","C#","shell","Java","JS","PHP","汇编","NodeJS","退出"]:
menu.add_command(label=item) menubar.add_cascade(label="语言",menu=menu) # 板顶鼠标右键
def showMenu(event): #
menubar.post(event.x_root,event.y_root)
win.bind("<Button-2>",showMenu) # 2是滚轮,3是右键,1是左键 # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

 11. Combobox下拉控件

  说明1:

  下拉控件。

  图示1:

  实例1:

import tkinter
from tkinter import ttk # 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Combobox:下拉控件
# 绑定变量
cv = tkinter.StringVar()
com = ttk.Combobox(win,textvariable=cv)
com.pack()
# 设置下拉数据
com["value"] = ("黑龙江","吉林","辽宁") # 设置默认值
com.current() # 绑定事件
def func(event):
print(com.get())
# print("Thomas is a good man")
com.bind("<<ComboboxSelected>>",func) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

12. Frame控件

  说明1:

  在屏幕上显示矩形区域,多作为容器控件。是按照纵向区域来选择的。

  图示1:

  实例1:

import tkinter

# 创建主窗口__编程头部
win = tkinter.Tk()
# 设置标题
win.title("Thomas的窗口")
# 设置大小和位置
win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # Frame:框架控件
# 在屏幕上显示一个矩形区域,多作为容器控件。是按照纵向区域来选的。 frm = tkinter.Frame(win)
frm.pack() # left
frm_l = tkinter.Frame(frm)
tkinter.Label(frm_l,text="左上",bg="pink").pack(side=tkinter.TOP)
tkinter.Label(frm_l,text="左下",bg="blue").pack(side=tkinter.TOP)
# left放置
frm_l.pack(side=tkinter.LEFT) # right
frm_r = tkinter.Frame(frm)
tkinter.Label(frm_r,text="右上",bg="red").pack(side=tkinter.TOP)
tkinter.Label(frm_r,text="右下",bg="yellow").pack(side=tkinter.TOP)
# right放置
frm_r.pack(side=tkinter.RIGHT) # 保持循环不让窗口关闭__编程尾部
win.mainloop()

  备注:

Python笔记_第四篇_高阶编程_GUI编程之Tkinter_2.控件类的更多相关文章

  1. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_1.使用Python进行GUI编程的概述

    1. GUI概述: GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction).早期计算机使用的命令行界面(command-line i ...

  2. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_3.数据显示

    1. 表格数据显示: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 wi ...

  3. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_6.附录

    1. 事件附录: 2. 事件属性附录:

  4. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_5.鼠标事件

    1. 鼠标点击事件: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 wi ...

  5. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_4.布局

    1. 绝对布局: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win. ...

  6. Python笔记_第四篇_高阶编程_实例化方法、静态方法、类方法和属性方法概念的解析。

    1.先叙述静态方法: 我们知道Python调用类的方法的时候都要进行一个实例化的处理.在面向对象中,一把存在静态类,静态方法,动态类.动态方法等乱七八糟的这么一些叫法.其实这些东西看起来抽象,但是很好 ...

  7. Python笔记_第四篇_高阶编程_进程、线程、协程_5.GPU加速

    Numba:高性能计算的高生产率 在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码.Pyt ...

  8. Python开发【第十三篇】高阶函数、递归函数、闭包

    函数式编程是指用一系列函数解决问题 好处:用每个函数完成每个细小的功能,一系列函数任意组合能够解决大问题 函数仅仅接收输入并产生输出,不包含任何能影响输出的内部状态 函数之间的可重入性 当一个函数的输 ...

  9. python学习三十四天函数高阶函数定义及用法

    python函数高阶函数是把函数当成一个变量,传递给函数作为参数,或者函数的返回值里面有函数,都称为高阶函数, 1,把函数作为参数传递 def dac(x,y): return x+y def tes ...

随机推荐

  1. 基础语法-判断结构if语句

    基础语法-判断结构if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.单分支语句 /** * 判断结构if单分支语句 * @author 尹正杰 * */ public c ...

  2. POJ - 2253 Frogger(最短路Dijkstra or flod)

    题意:要从起点的石头跳到终点的石头,设The frog distance为从起点到终点的某一路径中两点间距离的最大值,问在从起点到终点的所有路径中The frog distance的最小值为多少. 分 ...

  3. 关于SI4432数据手册的简单讲解

    SI4432是高度集成度单芯片无线ISM收发器件.EZRadioPRO系列包括了发射机.接收机和射频收发器,让设计工程师可以有选择的设计利用里面的无线部分. SI4432提供了先进的无线功能,包括连续 ...

  4. vue组件化应用构建

    组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型.独立和通常可复用的组件构建大型应用.仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树: 在 Vue 里,一个组件本质上是 ...

  5. 吴裕雄--天生自然 JAVASCRIPT开发学习:while 循环

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. PAT A1015-1016

    A 1015 Reversible Primes 看清题意即可.给的数是十进制的,需要先判断是不是素数,然后按照给定进制转化成字符串后进行翻转,最后再转化为十进制并判断是否为素数. #include ...

  7. Java查漏补缺(3)(面向对象相关)

    Java查漏补缺(3) 继承·抽象类·接口·静态·权限 相关 this与super关键字 this的作用: 调用成员变量(可以用来区分局部变量和成员变量) 调用本类其他成员方法 调用构造方法(需要在方 ...

  8. 51nod 1438:方阵与完全平方数

    1438 方阵与完全平方数 题目来源: mostleg 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 如果一个由正整数组成的n*n的方阵,满足以下 ...

  9. 手机与Arduino蓝牙串口通讯实验及完整例程

    安卓手机与Arduino之间采用蓝牙串口通讯,是很多智能装置和互动装置常用的控制方法,简单而有效,无需网络环境,很实用的技术. 实验采用Arduino UNO板,加了一块1602LCD屏做显示(因为只 ...

  10. 2019年Unity3D游戏开发前景预测及总结

    由于现在随着互联网时代的到来,人们上网玩游戏的越来越多,导致游戏开发人才供不应求,如果你想成为一名优秀的开发者,那么掌握Unity3D开发技术是不可跳过的一环.随着移动互联网的发展,移动端游戏日益盛行 ...