当前位置:   article > 正文

python -tkinter基础学习3_python tkinter colspawn

python tkinter colspawn


续: python-tkinter基础学习2

python-tkinter基础学习3

事件处理

tkinter提供了用以处理相关事件的机制,处理函数可被绑定给各个控件的各种事件。

widget.bind(event,handler),如果相关事件发生,handler函数就会被触发,事件对象event会传递给handler函数

  • 鼠标和键盘的基本操作代码
    在这里插入图片描述

  • event对象常用属性

在这里插入图片描述

用法:

canvas=Canvas(root,bg="green",height=300,width=300) #定义画布组件
def draw_rectangle(event):
    '''定义绑定的事件'''
    canvas.create_rectangle(event.x,event.y,event.x+20,event.y+20)
    print(event.type)
    print(event.x)
    print(event.x_root)
canvas.bind("<Double-Button-1>",draw_rectangle) #将组件与事件绑定,event为参数自动传递
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

注意event.x_root显示的是距离整个电脑窗口的距离,类型为int


多种事件绑定方式汇总

  • 组件对象的绑定

    1. 通过``command`属性绑定(适合简单的不需要获取event对象的时候)

      Button(root,text="login",command=login_in)

    2. 通过bind()方法绑定(可以获取event对象)

      c1=Canvas();c1.bind("<Button-1>",draw_line)

  • 组件类的绑定

    通过调用对象的bind_class函数,将该组件类的所有组件绑定事件:

    w.bind_class("Widget","event",eventhandler)

    比如:`btn01.bind_class(“Button”,"",function)


OptionMenu 选择项

OptionMenu用来做多选一,选中的项在顶部显示

在这里插入图片描述

var1=StringVar()
var1.set("python")
optionmenu=OptionMenu(root,var1,"python","php","c++","java","javascript")
optionmenu.pack()
  • 1
  • 2
  • 3

通过获取变量var1的值来得到optionmenu选择的值

Scale 移动滑块

常用options:

  • from_ :起始值

  • to :终值

  • length :长度,以像素为单位

  • tickinterval : 标记值,意思是每个多少tickinterval标记一次值

  • orient 滑块方向 ,默认是垂直方向,改为水平方向:orient=HORIZONTAL

  • command :对应事件

  • resolution :精度

  • lable : 滑条名称

注意:Scale的command会默认传递滑块的值

Scale测试:通过滑块调整字体大小

from tkinter import *

root=Tk()
root.title("tkinter test")
root.geometry("600x400")
lb=Label(root,text="this is a tkinter test")
lb.pack()
def set_font(value):
    print("滑块的值:",value)
    lb.config(font=("黑体",value),text="you have choose "+str(value))
    
scale=Scale(root,length=200,from_=1,to=20,tickinterval=4,orient=HORIZONTAL,command=set_font)
scale.pack()
root.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

颜色选择框

颜色选择框可以设置背景色、前景色、画笔颜色、字体颜色等等

使用前需要导入模块:from tkinter import colorchooser

root=Tk()
root.title("tkinter test")
root.geometry("300x200")
def select_color():
    s1=colorchooser.askcolor(color="red",title="选择颜色") #color:选择默认颜色,title:弹出颜色选择器窗口的标题
    root.config(bg=s1[1]) #将根窗口背景颜色设置为rgb的16进制模式
    print(s1)
btn=Button(root,text="选择背景颜色",command=select_color)
btn.pack()

root.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

最终打印值为一个元组((255.99609375, 0.0, 0.0), ‘#ff0000’),代表的是默认颜色的rgb值

文件对话框

文件对话框可以实现可视化操作文件,将文件、目录的信息传入到程序中。

​ 文件对话框的常用函数:

这些函数都在filedialog模块下,使用前需导入from tkinter import filedialog

在这里插入图片描述

命名参数options的常见值:

在这里插入图片描述

注意:上述参数中初始目录和初始文件的参数打错了,应该是initialdirinitialfile

  • 用法:

    from tkinter import filedialog as fd 
    s1=fd.askopenfilename(title="打开的文件",initialdir="d://python-test",                          filetypes=[("文本文件",".txt"),("我爬取的网易云音乐",".mp3")])
    • 1

s1是选择的文件路径


简单输入对话框

simpledialog(简单对话框)包含如下常用函数:

在这里插入图片描述

  • 使用方法:

    from tkinter.simpledialog import *
    s1=askinteger(title="输入",prompt="请输入分数",initialvalue=60,minvalue=0,maxvalue=100)
    • 1

在这里插入图片描述

结果返回输入的值

通用消息框(messagebox)

使用前导入模块from tkinter import messagebox

在这里插入图片描述

在这里插入图片描述


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/761025
推荐阅读
相关标签
  

闽ICP备14008679号