江苏网站设计公司电话,哪里有广告设计制作的培训,衡水网站托管,网站制作流程分为哪七步✨✨ 欢迎大家来到景天科技苑✨✨
#x1f388;#x1f388; 养成好习惯#xff0c;先赞后看哦~#x1f388;#x1f388; #x1f3c6; 作者简介#xff1a;景天科技苑 #x1f3c6;《头衔》#xff1a;大厂架构师#xff0c;华为云开发者社区专家博主#xff0c;…
✨✨ 欢迎大家来到景天科技苑✨✨ 养成好习惯先赞后看哦~ 作者简介景天科技苑 《头衔》大厂架构师华为云开发者社区专家博主阿里云开发者社区专家博主CSDN全栈领域优质创作者掘金优秀博主51CTO博客专家等。 《博客》Python全栈前后端开发小程序开发人工智能js逆向App逆向网络系统安全数据分析Djangofastapiflask等框架linuxshell脚本等实操经验网站搭建数据库等分享。 所属的专栏python图形化GUI编程tkinter精讲 景天的主页景天科技苑 文章目录 1.Button组件细讲1.Button应用实战 2.Entry 单行文本框1.Entry中的参数2.Entry中的方法3.Entry应用实战4.StringVar变量详细解析 1.Button组件细讲
Button按钮用来执行用户的单击操作。Button 可以包含文本也可以包含图像。按钮 被单击后会自动调用对应事件绑定的方法。 具体用法可以参考文档 https://insolor.github.io/effbot-tkinterbook-archive/
点进去查看Button用法
Button组件的参数详解 1.Button应用实战
【示例】Button 按钮用法(文字、图片、事件)
测试Button组件的基本用法使用面向对象的方式from tkinter import *
from tkinter import messageboxclass Application(Frame):def __init__(self, masterNone):super().__init__(master) # super()代表的是父类的定义而不是父类对象self.master masterself.pack()self.createWidget()def createWidget(self):创建组件# anchor如果控件的空间大于文本所需的空间此参数可控制文本的位置默认值为center可选项有eswnnwneswsecenter分别代表右、下、左、上、左上、右上、左下、右下、中间类似于东南西北self.btn01 Button(root, text登录,width6,height3,anchorNE,commandself.login)self.btn01.pack()global photophoto PhotoImage(fileimgs/数据分析.png)self.btn02 Button(root, imagephoto,width500,height100, commandself.login)self.btn02.pack()# self.btn02.config(statedisabled) #设置按钮为禁用图片也会显示为灰色def login(self):messagebox.showinfo(景天科技苑学习系统, 登录成功欢迎开始学习)if __name__ __main__:root Tk()root.geometry(500x360200300)app Application(masterroot)root.mainloop()运行结果
2.Entry 单行文本框
Entry 用来接收一行字符串的控件。如果用户输入的文字长度长于 Entry 控件的宽度 时, 文字会自动向后滚动。如果想输入多行文本, 需要使用 Text 控件。
1.Entry中的参数
Entry(masterNone, **options) (class)
master – 父组件
**options – 组件选项下方表格详细列举了各个选项的具体含义和用法
2.Entry中的方法
delete(first, lastNone)
– 删除参数 first 到 last 范围内包含 first 和 last的所有内容 – 如果忽略 last 参数表示删除 first 参数指定的选项 – 使用 delete(0, END) 实现删除输入框的所有内容
get()
– 获得当前输入框的内容
icursor(index)
– 将光标移动到 index 参数指定的位置 – 这同时也会设置 INSERT 的值
index(index)
– 返回与 index 参数相应的选项的序号例如 e.index(END)
insert(index, text)
– 将 text 参数的内容插入到 index 参数指定的位置 – 使用 insert(INSERT, text) 将 text 参数指定的字符串插入到光标的位置 – 使用 insert(END, text) 将 text 参数指定的字符串插入到输入框的末尾
scan_dragto(x)
– 见下方 scan_mark(x)
scan_mark(x)
– 使用这种方式来实现输入框内容的滚动 – 需要将鼠标按下事件绑定到 scan_mark(x) 方法x 是鼠标当前的水平位置然后再将 事件绑定到 scan_dragto(x) 方法x 是鼠标当前的水平位置就可以实现输入框在当前位置和 sacn_mack(x) 指定位置之间的水平滚动
select_adjust(index) – 与 selection_adjust(index) 相同见下方解释
select_clear() – 与 selection_clear() 相同见下方解释
select_from(index) – 与 selection_from(index) 相同见下方解释
select_present() – 与 selection_present() 相同见下方解释
select_range(start, end) – 与 selection_range(start, end) 相同见下方解释
select_to(index) – 与 selection_to(index) 相同见下方解释
selection_adjust(index) – 该方法是为了确保输入框中选中的范围包含 index 参数所指定的字符 – 如果选中的范围已经包含了该字符那么什么事情也不会发生 – 如果选中的范围不包含该字符那么会从光标的位置将选中的范围扩展至该字符
selection_clear() – 取消选中状态
selection_from(index) – 开始一个新的选中范围 – 会设置 ANCHOR 的值
selection_present() – 返回输入框是否有处于选中状态的文本 – 如果有则返回 True否则返回 False
selection_range(start, end) – 设置选中范围 – start 参数必须必 end 参数小 – 使用 selection_range(0, END) 选中整个输入框的所有内容
selection_to(index) – 选中 ANCHOR 到 index 参数的间的所有内容
xview(index) – 该方法用于确保给定的 index 参数所指定的字符可见 – 如有必要会滚动输入框的内容
xview_moveto(fraction) – 根据 fraction 参数给定的比率调整输入框内容的可见范围 – fraction 参数的范围是 0.0 ~ 1.00.0 表示输入框的开始位置1.0 表示输入框的结束位置
xview_scroll(number, what) – 根据给定的参数水平滚动输入框的可见范围 – number 参数指定滚动的数量如果是负数则表示反向滚动 – what 参数指定滚动的单位可以是 UNITS 或 PAGESUNITS 表示一个字符单元PAGES 表示一页
3.Entry应用实战
【示例】Entry 单行文本框实现简单登录界面
测试Entry组件的基本用法使用面向对象的方式from tkinter import *
from tkinter import messageboxclass Application(Frame):def __init__(self, masterNone):super().__init__(master) # super()代表的是父类的定义而不是父类对象self.master masterself.pack()self.createWidget()def createWidget(self):创建登录界面的组件self.label01 Label(self,text用户名)self.label01.pack()# StringVar变量绑定到指定的组件。# StringVar变量的值发生变化组件内容也变化# 组件内容发生变化StringVar变量的值也发生变化。v1 StringVar()self.entry01 Entry(self,textvariablev1)self.entry01.pack()#设置个默认值v1.set(admin)print(v1.get());print(self.entry01.get())# 创建密码框self.label02 Label(self,text密码)self.label02.pack()v2 StringVar()show 1. 设置输入框如何显示文本的内容2. 如果该值非空则输入框会显示指定字符串代替真正的内容3. 将该选项设置为 *则是密码输入框self.entry02 Entry(self,textvariablev2, show*)self.entry02.pack()#创建个按钮Button(self,text登录,commandself.login).pack()def login(self):username self.entry01.get()pwd self.entry02.get()print(去数据库比对用户名和密码)print(用户名username)print(密码pwd)if usernamejingtian and pwd123456:messagebox.showinfo(景天科技苑学习系统, 登录成功欢迎开始学习)else:messagebox.showinfo(景天科技苑学习系统,登录失败用户名或密码错误)if __name__ __main__:root Tk()root.geometry(400x130200300)app Application(masterroot)root.mainloop()运行程序 当我们输错会提示输入错误
输入正确的 提示登录成功
4.StringVar变量详细解析
Stringvar是tkinter里面的类型继承了Variable
我们在pycharm中 show Diagram 可以查看常见的各种类型 我们定义不同的数据类型的变量时可以选择不同的类型 可选类型有intVar整形DoubleVar浮点型BooleanVar布尔型StringVar字符串