Python升级之路( Lv20 ) GUI图形界面编程


大家好, 我是程序员晓晓

今天我们将深入学习GUI图形界面编程tkinter, 了解高级组件的使用方式

tkinter高级组件

在GBK外围住所中, 奥菲利亚向我们解释到了. 最初整个地区都相安无事, 但是自从某天马塞尔大叔在天帷禁地发狂之后, 像瘟疫一般的病毒便散播开来. 到最后, 几乎除了现任教主奥菲利亚, 他人无人幸免. 于是, 在奥菲利亚的再次请求下, 了不起慎重思考后决定前往天帷禁地查明原因. 导师GSC嗅到了一丝不安的情况, 打算现在阿拉德寻找一些朋友来帮忙. 于是了不起当下就和GSC分道扬镳…

OptionMenu 选择项

OptionMenu(选择项, 类似前端多选框)用来做多选一,选中的项在顶部显示。显示效果如下:

实操代码

from tkinter import Tk, StringVar, OptionMenu, Button

root = Tk()
root.geometry("200x100")
v = StringVar(root)
v.set("首选项")
"""下拉列表选项框"""
om = OptionMenu(root, v, "第二选项", "第三选项", "第四选项")
om["width"] = 10
om.pack()

def test1():
    print("您的选择是:", v.get())
    v.set("新设置的首选项")      # 直接修改了 optionmenu 中选中的值


Button(root, text="确定", command=test1).pack()
root.mainloop()

结果展示

Scale 移动滑块

Scale(移动滑块)用于在指定的数值区间,通过滑块的移动来选择值

实操代码

"""
scale 滑块的使用测试
【示例】使用 Scale(移动滑块)控制字体大小变化
"""
from tkinter import *

root = Tk()
root.geometry("400x150")


def test1(value):
    print("滑块的值:", value)
    newFont = ("宋体", value)
    a.config(font=newFont)      # 这里将滑块的值, 附入标签中


s1 = Scale(root, from_=10, to=50, length=200, tickinterval=5, orient=HORIZONTAL, command=test1)
s1.pack()

a = Label(root, text="测试滑块", width=10, height=1, bg="black", fg="white")
a.pack()


root.mainloop()

结果展示

颜色选择框

实操代码

from tkinter import Tk, StringVar, OptionMenu, Button
from tkinter.colorchooser import askcolor

print("======================================")
root = Tk()
root.geometry("400x150")


def test1():
    s1 = askcolor(color="red", title="选择背景色")
    print(s1)  # s1 的值是:((0.0, 0.0, 255.99609375), '#0000ff')
    root.config(bg=s1[1])       # 这里, 将父组件的颜色设置成button按钮点击后颜色选择框的值,


Button(root, text="选择背景色", command=test1).pack()
root.mainloop()

结果展示

文件对话框

文件对话框帮助我们实现可视化的操作目录、操作文件. 将文件、目录的信息传入到程序中

文件对话框包含如下一些常用函数命名参数 options 的常见值如下:

实操代码——文件对话框基本用法

"""文件对话框获取文件"""
from tkinter import *
from tkinter.filedialog import *

root = Tk()
root.geometry("400x100")


def test1():
    f = askopenfilename(title="上传文件", initialdir="f:/file", filetypes=[("视频文件", ".mp4")])     # askopenfilename(**options)  返回打开的文件名
    # print(f)
    show["text"] = f        # 这里label将显示选择的视频文件名称


Button(root, text="选择编辑的视频文件", command=test1).pack()
show = Label(root, width=40, height=3, bg="green")
show.pack()
root.mainloop()

结果展示

简单输入对话框

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

"""简单对话框"""
from tkinter.simpledialog import *

root = Tk()
root.geometry("400x100")


def test1():
    a = askinteger(title="输入年龄", prompt="请输入年龄 ", initialvalue=18, minvalue=1,
                   maxvalue=150)  # askstring、askfloat 框使用方式一样
    show["text"] = a


Button(root, text="你有多大了? 请点击后输入", command=test1).pack()
show = Label(root, width=40, height=3, bg="green")
show.pack()

root.mainloop()

结果展示

通用消息框

messagebox(通用消息框)用于和用户简单的交互,用户点击确定、取消

如下列出了 messagebox 的常见函数:

函数说明
askokcancel(title,message,**opt ions)OK/Cancel 对话框
askquestion(title,message,**opt ions)Yes/No 问题对话框
askretrycancel(title,message,** options)Retry/Cancel问题对话框
showerror(title,message,**optio ns)错误消息对话框
showinfo(title,message,**option s)消息框
showwarning(title,message,**opt ions)警告消息框

实操代码

from tkinter import *
from tkinter.messagebox import *

root = Tk()
root.geometry("400x100")

a1 = showinfo(title="测试通用消息框", message="点击出现通用消息框")
print(a1)

root.mainloop()

结果展示

ttk 子模块控件

前面学的组件是 tkinter 模块下的组件,整体界面风格较老旧。为了弥补这点不足, 推出了 ttk 组件ttk 组件更加美观、功能更加强大, 新增了 LabeledScale(带标签的 Scale)、Notebook(多文档窗口)、Progressbar(进度条)、Treeview(树)等组件. 使用 ttk 组件与使用普通的 Tkinter 组件并没有多大的区别,只要导入 ttk 模块即可

注意事项:

  • ttk 子模块的官方文档: https://docs.python.org/3.7/library/tkinter.ttk.html

  • 如果项目确实需要用到复杂的界面,推荐大家使用 wxpython 或者 pyQt.

为了通往禁地, 他们首先来到了位于天帷巨兽头部的树精丛林. 这里的树木由于受到了天帷巨兽分泌的体液影响, 开始诞生了原始意志, 但后来被某种强大的精神力量控制了意识, 开始四处攻击通过此地的人们. 好在奥菲利亚提前告知了这些树精的弱点: 惧怕冰冻和火焰. 于是了不起便拿出了自己花费5级技能点学习到的技能: 魔剑奥义. 可以将手持武器变换成各种属性, 威力和强达到他当前所能达到的极致.
  在将武器切换成火属性之后, 便开始攻坚. 可是, 在刚一出手, 了不起便吃到了苦头: 原来树精的攻击力虽然很低而且移动迟缓, 但是由于受到了火属性攻击则会爆炸, 自己也无法幸免, 受到了不小的伤害. 于是了不起便停下来思考如何对敌, 突然他灵机一动: 决定将当前区域的所有树精都聚集在一起, 然后利用冰属性攻击攻击降低他们的移动速度, 最后利用火属性攻击让他们相互爆炸进. 在了不起的计策下, 终于成功的通过了这一区域. 而在此时, 他的等级也成功晋升lv21.


感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述
若有侵权,请联系删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值