Python [ GUI编程自学 ],虽然但是,还是想出一个系列

devtools/2024/9/20 15:44:13/

        本文主要介绍了GUI组件的其他常用组件部分:optionmenu选项菜单,scale滑块;颜色框、文件选择框,读取文件内容;简单对话框、通用消息、ttk子模块问题;

        一系列GUI编程,有相关的专栏,欢迎瞅一瞅哈!!!

        有点兴趣,想坚持下去,所以写了笔记,感觉坚持下来总是有收获的,勿喷!!

     

目录

其他组件

optionmenu%E9%80%89%E9%A1%B9%E8%8F%9C%E5%8D%95_scale%E6%BB%91%E5%9D%97-toc" style="margin-left:40px;">20. optionmenu选项菜单_scale滑块

optionmenu-toc" style="margin-left:80px;">1. 多选菜单optionmenu

2. Scanle移动模块

21. 颜色框 _文件选择框 _读取文件内容

1. 颜色选择器

2.文件对话框

简介:

练习一

练习二

22. 简单对话框 通用消息框 ttk子模块问题

简单对话框:

实现效果图

代码表示

通用消息框:

常用函数

代码表示

ttk子模块控件:(没有细讲)

推荐专业 复杂版:wxPython PyQT


其他组件

optionmenu%E9%80%89%E9%A1%B9%E8%8F%9C%E5%8D%95_scale%E6%BB%91%E5%9D%97">20. optionmenu选项菜单_scale滑块

optionmenu">1. 多选菜单optionmenu

用来做多选一,在顶部显示

python">from tkinter import *
​
root = Tk()
root.geometry('200x100')
v = StringVar(root)
v.set('梦茹')
om = OptionMenu(root,v,'聪聪','潘潘','小慧','小嘉林')
​
om['width'] = 10
om.pack()
​
def test1():print('最棒室友:',v.get())
Button(root,text='确定',command=test1).pack()
​
root.mainloop()

2. Scanle移动模块

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

python">from tkinter import *
​
root = Tk()
root.geometry('400x200')
​
​
def test1(value):print('滑块的值:', value)newFront = ('宋体', value)a.config(font=newFront)
​
#from...to...:长度,长度为200;tickinterval:间隔为5;orient:水平(默认为垂直)
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()

21. 颜色框 _文件选择框 _读取文件内容

1. 颜色选择器

颜色选择框可以帮助我们设置背景色、前景色、画笔颜色、字体颜色等。

python"># P21
from tkinter import *
from tkinter.colorchooser import askcolor
​
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(root,text='选择背景色',command=test1).pack()
​
root.mainloop()

2.文件对话框

简介:

文件对话框帮助我们实现可视化的操作目录、操作文件。最后,将文件、目录的信息传入到程序中。文件对话框包含如下一些常用函数:

练习一
python">from tkinter import *
from tkinter.filedialog import askopenfilename
​
root = Tk()
root.geometry('400x150')
​
def test1():f = askopenfilename(title='上传文件',initialfile='d:',filetypes=[('Python文件','.md')])show['text'] = f
​
Button(root,text='选择编辑的视频文件',command=test1).pack()
​
show = Label(root,width=40,height=3,bg='green')
show.pack()
​
root.mainloop()

练习二

文心一言

python">from tkinter import *
from tkinter.filedialog import askopenfilename
​
root = Tk()
root.geometry('400x150')
​
​
def test1():filename = askopenfilename(title='上传文件', initialdir='D:/', filetypes=[('文本文件', '*.txt')])if filename:with open(filename, 'r', encoding='utf-8') as f:show['text'] = f.read()
​
​
Button(root, text='选择读取的文本文件', command=test1).pack()
​
show = Label(root, width=40, height=3, bg='green', fg='white', wraplength=400)  # 添加 fg 和 wraplength 以改善显示
show.pack()
​
root.mainloop()

22. 简单对话框 通用消息框 ttk子模块问题

简单对话框:

实现效果图

代码表示
python">from tkinter import *
from tkinter.simpledialog import askinteger
​
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()

通用消息框:

常用函数

通过tkinter.messagebox模块来使用。

  • showinfo(title, message): 显示一个信息框。

  • showwarning(title, message): 显示一个警告框。

  • showerror(title, message): 显示一个错误框。

  • askquestion(title, message): 显示一个询问框,用户可以选择“是”或“否”。

  • askokcancel(title, message): 显示一个确认框,用户可以选择“确定”或“取消”。

  • askretrycancel(title, message): 显示一个重试/取消框,用户可以选择“重试”或“取消”。

  • askyesno(title, message): 显示一个是/否框,用户可以选择“是”或“否”。

代码表示
python">from tkinter import *
from tkinter.messagebox import showinfo
​
root = Tk()
root.geometry('400x100')
​
a1 = showinfo(title='zmr',message='python')
print(a1)
​
root.mainloop()

返回值为ok

ttk子模块控件:(没有细讲)

推荐专业 复杂版:wxPython PyQT

我们再前面学的组件是tkinter模块下的组件,整体风格较老较丑。为了弥补这点不足,推出了tk组件

ttk组件更加美观、功能更加强大。新增了Labeledscale(带标签的Scale)、Notebook(多文档窗口)、Progressbar(进度条)Treeview(数)等组件

使用 ttk组件与使用普通的Tkinter 组件并没有多大的区别,只要导入ttk模块即可
ttk子模块的官方文档:
https://docs.python.org/3.7/library/tkinter.ttk.html


http://www.ppmy.cn/devtools/113122.html

相关文章

【C++】入门基础(下)

Hi!很高兴见到你~ 目录 7、引用 7.3 引用的使用(实例) 7.4 const引用 【第一分点】 【第二分点1】 【第二分点2】 7.5 指针和引用的关系(面试点) 8、inline 9、nullptr Relaxing Time! ———…

实习期间git的分枝管理以及最常用的命令

各位找工作实习的友友在工作之前一定要把git的相关知识掌握呀,我实现期间被leader说过关于git规范的相关问题了 目前已更新系列: 当前::实习期间git的分枝管理以及最常用的命令 Redis高级-----持久化AOF、RDB原理 Redis高级---面试总结5种…

容器技术--Dockerfile 构建镜像

Dockerfile dockerfile 是一系列命令&参数构成的脚本,这些命令应用于基础镜像,最终创建一个新的镜像,可以提供一致的运行环境。【也可以登录容器,自己安装软件,最后commit为镜像】 命令 FROM 指定基础镜像(必须),如FROM ubuntu;每一个指令就生成一层镜像;RUN 运…

【前端】ref引用的作用

首先&#xff0c;我们要明确一点&#xff0c;使用vue的好处是&#xff1a; 想要减少开发者直接操作dom元素。使用组件模版&#xff0c;实现代码的服用。 ref的属性的实现是为了取代原生js中使用id、class等标识来获取dom元素。 helloworld组件 <template><div clas…

面试官问:你在团队中的角色是什么?

面试官问你在团队中的角色是什么&#xff0c;其目的是了解你如何在团队环境中工作&#xff0c;以及你如何看待自己在团队中的定位。他们希望听到你如何与他人协作、你的领导能力或团队合作精神&#xff0c;以及你是否能适应不同的团队角色。 回答这类问题时&#xff0c;你可以…

多维时序 | Matlab基于BO-LSSVM贝叶斯优化最小二乘支持向量机数据多变量时间序列预测

多维时序 | Matlab基于BO-LSSVM贝叶斯优化最小二乘支持向量机数据多变量时间序列预测 目录 多维时序 | Matlab基于BO-LSSVM贝叶斯优化最小二乘支持向量机数据多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于BO-LSSVM贝叶斯优化最小二乘支…

【渗透测试】-CVE-2016-4437-Shiro550漏洞复现

Shiro550漏洞爆出的时间是2016年为第4437个漏洞&#xff0c;所以它的CVE编码是2016-4437 文章目录 前言 什么是Shiro550漏洞&#xff1f; 1.Shiro550漏洞原理&#xff1a; 2.漏洞利用 3.漏洞复现&#xff1a; 前提&#xff1a;下载并打开vulhub靶场。 CVE-2016-4437-shiro550漏…

TryHackMe 第1天 | Introduction to Cyber Security

偶然之间了解到了TryHackMe这个网站&#xff0c;尝试跟着其中的学习路径进行学习&#xff0c;发现还是挺适合入门网络安全这一领域的。但是这个网站包含了很多内容&#xff0c;如果不用一些东西记录下来&#xff0c;那么很容易忘记&#xff0c;所以打算在此记录一下学习过程。 …