157°

跟我学Python GUI编程系列 - Tkinter(5)

跟我学Python GUI编程系列 - Tkinter(5)

在本系列教程中,我们将学习如何通过使用Tkinter包编写Python GUI示例来开发图形用户界面。

本文我们Linux环境:Ubuntu 20.04 LTS,Python版本为3.8.2。同样使用IDLE。

添加一个SpinBox(数字小部件)

要创建Spinbox小部件,可以使用Spinbox类,如下所示:

spin = Spinbox(window, from_=0, to=50)

在这里,我们创建了一个Spinbox小部件,并将from_和to参数以指定Spinbox的数字范围。

另外,您可以使用width参数指定小部件的宽度:

spin = Spinbox(window, from_=0, to=50, width=10)

下面是一个完整的示例:

from tkinter import *

window = Tk()

window.title("欢迎使用linuxidc.com应用")

window.geometry('600x400')

spin = Spinbox(window, from_=0, to=50, width=10)

spin.grid(column=0,row=0)

window.mainloop()

效果图如下:

跟我学Python GUI编程系列 - Tkinter(5)

您可以为Spinbox指定数字,而不是像这样使用整个范围:

spin = Spinbox(window, values=(1, 6, 8, 17, 29), width=10)

这里的Spinbox小部件仅显示以下5个数字:1、6、8、17和29。

设置Spinbox的默认值

要设置Spinbox的默认值,可以将值传递给textvariable参数,如下所示:

var =IntVar()

var.set(29)

spin = Spinbox(window, from_=0, to=50, width=10, textvariable=var)

现在,如果您运行该程序,它将显示29作为Spinbox的默认值。

添加进度条小部件

要创建进度条,可以使用如下所示的progressbar类:

from tkinter.ttk import Progressbar

bar = Progressbar(window, length=200)

您可以这样设置进度条值:

bar['value'] = 80

您可以根据想要下载文件或完成任务的任何过程来设置此值。

更改进度条颜色

更改进度条颜色有些棘手。

首先,我们将创建样式并设置背景颜色,最后将创建的样式设置为进度栏。

运行以下示例:

from tkinter import *

from tkinter.ttk import Progressbar

from tkinter import ttk

window = Tk()

window.title("欢迎使用linuxidc.com应用")

window.geometry('600x400')

style = ttk.Style()

style.theme_use('default')

style.configure("black.Horizontal.TProgressbar", background='red')

bar = Progressbar(window, length=200, style='black.Horizontal.TProgressbar')

bar['value'] = 80

bar.grid(column=0, row=0)

window.mainloop()

效果如下:

跟我学Python GUI编程系列 - Tkinter(5)

OK,本文就这样。

下一节让我们尝试添加更多的GUI组件(例如添加一个SpinBox组件)。敬请期待。

跟我学Python GUI编程系列  https://www.linuxidc.com/search.aspx?where=nkey&keyword=65442 】

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

原文链接:https://www.linuxidc.com/Linux/2020-04/162815.htm

全部评论: 0

    我有话说: