【python学习笔记】第9天

前两天由于有一些事情,没有进行python学习,今天继续python学习

接着开始接触tkinter了,这是一个做界面的模块,首先我们要用几个例子来完成接下来的学习任务

首先接触的是Label组件

选项含义
activebackground1. 设置当 Label 处于活动状态(通过 state 选项设置状态)的背景色
2. 默认值由系统指定
activeforeground1. 设置当 Label 处于活动状态(通过 state 选项设置状态)的前景色
2. 默认值由系统指定
anchor1. 控制文本(或图像)在 Label 中显示的位置
2. N, NE, E, SE, S, SW, W, NW, 或 CENTER 来定位(EWSN 代表东西南北,上北下南左西右东)
3. 默认值是 CENTER
background1. 设置背景颜色
2. 默认值由系统指定
bg跟 background 一样
bitmap1. 指定显示到 Label 上的位图
2. 如果指定了 image 选项,则该选项被忽略
borderwidth1. 指定 Label 的边框宽度
2. 默认值由系统指定,通常是 1 或 2 像素
bd跟 borderwidth 一样
compound1. 控制 Label 中文本和图像的混合模式
2. 默认情况下,如果有指定位图或图片,则不显示文本
3. 如果该选项设置为 CENTER,文本显示在图像上(文本重叠图像)
4. 如果该选项设置为 BOTTOM,LEFT,RIGHT 或 TOP,那么图像显示在文本的旁边(如 BOTTOM,则图像在文本的下方)
5. 默认值是 NONE
cursor1. 指定当鼠标在 Label 上飘过的时候的鼠标样式
2. 默认值由系统指定
disabledforeground1. 指定当 Label 不可用的时候前景色的颜色
2. 默认值由系统指定
font1. 指定 Label 中文本的字体
2. 一个 Label 只能设置一种字体
3. 默认值由系统指定
foreground1. 设置 Label 的文本和位图的颜色
2. 默认值由系统指定
fg跟 foreground 一样
height1. 设置 Label 的高度
2. 如果 Label 显示的是文本,那么单位是文本单元
3. 如果 Label 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Label 的内容计算出高度
highlightbackground1. 指定当 Label 没有获得焦点的时候高亮边框的颜色
2. 默认值由系统指定,通常是标准背景颜色
highlightcolor1. 指定当 Label 获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightthickness1. 指定高亮边框的宽度
2. 默认值是 0(不带高亮边框)
image1. 指定 Label 显示的图片
2. 该值应该是 PhotoImage,BitmapImage,或者能兼容的对象
3. 该选项优先于 text 和 bitmap 选项
justify1. 定义如何对齐多行文本
2. 使用 LEFT,RIGHT 或 CENTER
3. 注意,文本的位置取决于 anchor 选项
4. 默认值是 CENTER
padx1. 指定 Label 水平方向上的额外间距(内容和边框间)
2. 单位是像素
pady1. 指定 Label 垂直方向上的额外间距(内容和边框间)
2. 单位是像素
relief1. 指定边框样式
2. 默认值是 FLAT
3. 另外你还可以设置 SUNKEN,RAISED,GROOVE 或 RIDGE
state1. 指定 Label 的状态
2. 这个标签控制 Label 如何显示
3. 默认值是 NORMAL
4. 另外你还可以设置 ACTIVE 或 DISABLED
takefocus1. 如果是 True,该 Label 接受输入焦点
2. 默认值是 False
text1. 指定 Label 显示的文本
2. 文本可以包含换行符
3. 如果设置了 bitmap 或 image 选项,该选项则被忽略
textvariable1. Label 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容
2. 如果变量被修改,Label 的文本会自动更新
underline1. 跟 text 选项一起使用,用于指定哪一个字符画下划线(例如用于表示键盘快捷键) 
2. 默认值是 -1
3. 例如设置为 1,则说明在 Button 的第 2 个字符处画下划线
width1. 设置 Label 的宽度
2. 如果 Label 显示的是文本,那么单位是文本单元
3. 如果 Label 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Label 的内容计算出宽度
wraplength1. 决定 Label 的文本应该被分成多少行
2. 该选项指定每行的长度,单位是屏幕单元
3. 默认值是 0

下面看代码

from tkinter import *

master = Tk() # 创建一个窗口
# 显示的文本
the_text = '''
这里显示多行文本
这里显示多行文本
哈哈
'''
# 显示的文本
the_text2 = '''
今天是个好日子
今天适合泡妹子
今天妹子没出门
'''
photo = PhotoImage(file="87013_13.gif")
v = StringVar() # 这是tkinter中的一个串对象
w = Label(master, image=photo, textvariable=v, compound=CENTER,
          justify=LEFT, bg="white", fg="red", font = ("华文行楷", 20),
          )

# w = Label(master,image=photo)

w.pack() # 这里将标签自动的摆放到窗口中
v.set(the_text2) # 设置串对象的内容


mainloop() # 运行窗口

运行结果:

这里用了之前爬下来的妹子做背景图

接着是学习了button组件

选项含义
activebackground1. 设置当 Button 处于活动状态(通过 state 选项设置状态)的背景色
2. 默认值由系统指定
activeforeground1. 设置当 Button 处于活动状态(通过 state 选项设置状态)的前景色
2. 默认值由系统指定
anchor1. 控制文本(或图像)在 Button 中显示的位置
2. N, NE, E, SE, S, SW, W, NW, 或 CENTER 来定位(EWSN代表东西南北,上北下南左西右东)
3. 默认值是 CENTER
background1. 设置背景颜色
2. 默认值由系统指定
bg跟 background 一样
bitmap1. 指定显示到 Button 上的位图
2. 如果指定了 image 选项,则该选项被忽略
borderwidth1. 指定 Button 的边框宽度
2. 默认值由系统指定,通常是 1 或 2 像素
bd跟 borderwidth 一样
compound1. 控制 Button 中文本和图像的混合模式
2. 默认情况下,如果有指定位图或图片,则不显示文本
3. 如果该选项设置为 CENTER,文本显示在图像上(文本重叠图像)
4. 如果该选项设置为 BOTTOM,LEFT,RIGHT 或 TOP,那么图像显示在文本的旁边(如 BOTTOM,则图像在文本的下方)
5. 默认值是 NONE
cursor1. 指定当鼠标在 Button 上飘过的时候的鼠标样式
2. 默认值由系统指定
default1. 如果设置该选项(NORMAL),该按钮会被绘制成默认按钮
2. Tkinter 会根据平台的具体指标来绘制(通常就是绘制一个额外的边框)
2. 默认值是 DISABLE
disabledforeground1. 指定当 Button 不可用的时候前景色的颜色
2. 默认值由系统指定
font1. 指定 Button 中文本的字体
2. 一个 Button 只能设置一种字体
3. 默认值由系统指定
foreground1. 设置 Button 的文本和位图的颜色
2. 默认值由系统指定
fg跟 foreground 一样
height1. 设置 Button 的高度
2. 如果 Button 显示的是文本,那么单位是文本单元
3. 如果 Button 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Button 的内容计算出高度
highlightbackground1. 指定当 Button 没有获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightcolor1. 指定当 Button 获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightthickness1. 指定高亮边框的宽度
2. 默认值是 0(不带高亮边框)
image1. 指定 Button 显示的图片
2. 该值应该是 PhotoImage,BitmapImage,或者能兼容的对象
3. 该选项优先于 text 和 bitmap 选项
justify1. 定义如何对齐多行文本
2. 使用 LEFT,RIGHT 或 CENTER
3. 注意,文本的位置取决于 anchor 选项
4. 默认值是 CENTER
overrelief1. 定义当鼠标飘过时 Button 的样式
2. 如果不设置,那么总是使用 relief 选项指定的样式
padx指定 Button 水平方向上的额外间距(内容和边框间)
pady指定 Button 垂直方向上的额外间距(内容和边框间)
relief1. 指定边框样式
2. 通常当按钮被按下时是 SUNKEN,其他时候是 RAISED
3. 另外你还可以设置 GROOVE、RIDGE 或 FLAT
4. 默认值是 RAISED
repeatdelay见下方 repeatinterval 选项的描述
repeatinterval1. 通常当用户鼠标按下按钮并释放的时候系统认为是一次点击动作。如果你希望当用户持续按下按钮的时候(没有松开),根据一定的间隔多次触发按钮,那么你可以设置这个选项。
2. 当用户持续按下按钮的时候,经过 repeatdelay 时间后,每 repeatinterval 间隔就触发一次按钮事件。
3. 例如设置 repeatdelay=1000,repeatinterval=300,则当用户持续按下按钮,在 1 秒的延迟后开始每 300 毫秒触发一次按钮事件,直到用户释放鼠标。
state1. 指定 Button 的状态
2. 默认值是 NORMAL
3. 另外你还可以设置 ACTIVE 或 DISABLED
takefocus1. 指定使用 Tab 键可以将焦点移到该 Button 组件上(这样按下空格键也相当于触发按钮事件)
2. 默认是开启的,可以将该选项设置为 False 避免焦点在此 Button 上
text1. 指定 Button 显示的文本
2. 文本可以包含换行符
3. 如果设置了 bitmap 或 image 选项,该选项则被忽略
textvariable1. Button 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容
2. 如果变量被修改,Button 的文本会自动更新
underline1. 跟 text 选项一起使用,用于指定哪一个字符画下划线(例如用于表示键盘快捷键) 
2. 默认值是 -1
3. 例如设置为 1,则说明在 Button 的第 2 个字符处画下划线
width1. 设置 Button 的宽度
2. 如果 Button 显示的是文本,那么单位是文本单元
3. 如果 Button 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Button 的内容计算出宽度
wraplength1. 决定 Button 的文本应该被分成多少行
2. 该选项指定每行的长度,单位是屏幕单元
3. 默认值是 0

代码:

from tkinter import *

master = Tk()

long_text = """
我是一个按钮,
我的作用是执行按下的功能,
我应该是简短的,
但是我为什么这么长?
"""
def callback():
    print("我被调用了!")
photo = PhotoImage(file="87013_13.gif")
b = Button(master, text=long_text, anchor=SE, command=callback, justify=LEFT)
b.pack()
mainloop()

运行结果:

接着是tkinter中的Checkbutton组件:

选项含义
activebackground1. 设置当 Checkbutton 处于活动状态(通过 state 选项设置状态)的背景色
2. 默认值由系统指定
activeforeground1. 设置当 Checkbutton 处于活动状态(通过 state 选项设置状态)的前景色
2. 默认值由系统指定
anchor1. 控制文本(或图像)在 Checkbutton 中显示的位置
2. N, NE, E, SE, S, SW, W, NW, 或 CENTER 来定位(EWSN代表东西南北,上北下南左西右东)
3. 默认值是 CENTER
background1. 设置背景颜色
2. 默认值由系统指定
bg跟 background 一样
bitmap1. 指定显示到 Checkbutton 上的位图
2. 如果指定了 image 选项,则该选项被忽略
borderwidth1. 指定 Checkbutton 的边框宽度
2. 默认值由系统指定,通常是 1 或 2 像素
bd跟 borderwidth 一样
command1. 指定于该按钮相关联的函数或方法
2. 当按钮被按下时由 Tkinter 自动调用对应的函数或方法
3. 如果不设置此选项,那么该按钮被按下后啥事儿也不会发生
compound1. 控制 Checkbutton 中文本和图像的混合模式
2. 默认情况下,如果有指定位图或图片,则不显示文本
3. 如果该选项设置为 CENTER,文本显示在图像上(文本重叠图像)
4. 如果该选项设置为 BOTTOM,LEFT,RIGHT 或 TOP,那么图像显示在文本的旁边(如 BOTTOM,则图像在文本的下方)
5. 默认值是 NONE
cursor1. 指定当鼠标在 Checkbutton 上飘过的时候的鼠标样式
2. 默认值由系统指定
disabledforeground1. 指定当 Checkbutton 不可用的时候前景色的颜色
2. 默认值由系统指定
font1. 指定 Checkbutton 中文本的字体
2. 一个 Checkbutton 只能设置一种字体
3. 默认值由系统指定
foreground1. 设置 Checkbutton 的文本和位图的颜色
2. 默认值由系统指定
fg跟 foreground 一样
height1. 设置 Checkbutton 的高度
2. 如果 Checkbutton 显示的是文本,那么单位是文本单元
3. 如果 Checkbutton 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Checkbutton 的内容计算出高度
highlightbackground1. 指定当 Checkbutton 没有获得焦点的时候高亮边框的颜色
2. 默认值由系统指定,通常是标准背景颜色
highlightcolor1. 指定当 Checkbutton 获得焦点的时候高亮边框的颜色
2. 默认值由系统指定
highlightthickness1. 指定高亮边框的宽度
2. 默认值是 1
image1. 指定 Checkbutton 显示的图片
2. 该值应该是 PhotoImage,BitmapImage,或者能兼容的对象
3. 该选项优先于 text 和 bitmap 选项
indicatoron1. 指定前边作为选择的小方块是否绘制
2. 默认是绘制的
3. 该选项会影响到按钮的样式,如果设置为 False,则点击后该按钮变成 SUNKEN(凹陷),再次点击变为 RAISED(凸起)
justify1. 定义如何对齐多行文本
2. 使用 LEFT,RIGHT 或 CENTER
3. 注意,文本的位置取决于 anchor 选项
4. 默认值是 CENTER
offvalue1. 默认情况下,variable 选项设置为 1 表示选中状态,反之设置为 0
2. 设置 offvalue 的值可以自定义未选中状态的值(详见上方用法举例)
onvalue1. 默认情况下,variable 选项设置为 1 表示选中状态,反之设置为 0
2. 设置 onvalue 的值可以自定义选中状态的值(详见上方用法举例)
padx1. 指定 Checkbutton 水平方向上的额外间距(内容和边框间)
2. 默认值是 1
pady1. 指定 Checkbutton 垂直方向上的额外间距(内容和边框间)
2. 默认值是 1
relief1. 指定边框样式
2. 该值通常是 FLAT,除非你设置 indicatoron 选项为 False
3. 如果 indicatoron 为 False,你还可以设置 SUNKEN,RAISED,GROOVE 或 RIDGE
selectcolor1. 选择框的颜色(就是打勾勾的那个正方形小框框)
2. 默认值由系统指定
selectimage1. 设置当 Checkbutton 为选中状态的时候显示的图片
2. 如果没有指定 image 选项,该选项被忽略
state1. 指定 Checkbutton 的状态
2. 默认值是 NORMAL
3. 另外你还可以设置 ACTIVE 或 DISABLED
takefocus1. 如果是 True,该组件接受输入焦点(用户可以通过 tab 键将焦点转移上来)
2. 默认值是 False
text1. 指定 Checkbutton 显示的文本
2. 文本可以包含换行符
3. 如果设置了 bitmap 或 image 选项,该选项则被忽略
textvariable1. Checkbutton 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容
2. 如果变量被修改,Checkbutton 的文本会自动更新
underline1. 跟 text 选项一起使用,用于指定哪一个字符画下划线(例如用于表示键盘快捷键) 
2. 默认值是 -1
3. 例如设置为 1,则说明在 Checkbutton 的第 2 个字符处画下划线
variable1. 将 Checkbutton 跟一个 Tkinter 变量关联
2. 当按钮按下时,该变量在 onvalue 和 offvalue 之间切换
3. 这个切换的过程是完全自动的
width1. 设置 Checkbutton 的宽度
2. 如果 Checkbutton 显示的是文本,那么单位是文本单元
3. 如果 Checkbutton 显示的是图像,那么单位是像素(或屏幕单元)
4. 如果设置为 0 或者干脆不设置,那么会自动根据 Checkbutton 的内容计算出宽度
wraplength1. 决定 Checkbutton 的文本应该被分成多少行
2. 该选项指定每行的长度,单位是屏幕单元
3. 默认值是 0

测试代码:

from tkinter import *

master = Tk()

var = StringVar()
var.set("1")

c = Checkbutton(master, text = "你有你朋友吗?", variable=var, onvalue="1", offvalue="0")
c.pack()
# 用按钮取消选中
b = Button(master, text="取消选中",command=c.deselect)
b.pack()

mainloop()

运行结果:

点击取消选中后会取消选中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值