百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python图形用户界面(GUI)- tkinter

off999 2024-12-08 17:31 30 浏览 0 评论

Python提供了多种开发GUI(图形用户界面)的选项。在所有GUI方法中,tkinter是最常用的方法。它是Python随附的Tk GUI工具包的标准Python接口。带有tkinter的Python是创建GUI应用程序的最快,最简单的方法。使用tkinter创建GUI很容易。

要创建tkinter应用程序

1)导入模块tkinter

2)创建主窗口(容器)

3)将任意数量的小部件添加到主窗口

4)将事件触发器应用于小部件。

导入tkinter与导入Python代码中的任何其他模块相同。请注意,在Python 2.x中,模块的名称为“ Tkinter”,而在Python 3.x中,模块的名称为“ tkinter”。

import tkinter

用户使用GUI创建Python应用程序时需要记住两种主要方法。

1)Tk(screenName=None, baseName=None, className=’Tk’, useTk=1):为了创建一个主窗口,tkinter提供了一种方法‘Tk(screenName=None, baseName=None, className=’Tk’, useTk=1)’。要更改窗口的名称,可以将className更改为所需的名称。用于创建应用程序主窗口的基本代码为:

m=tkinter.Tk() where m is the name of the main window object

2)mainloop():当应用程序准备运行时,会使用一个名为mainloop()的方法。mainloop()是一个无限循环,用于运行应用程序,等待事件发生,并在窗口未关闭的情况下处理事件。

m.mainloop()
import tkinter 
m = tkinter.Tk() 
''' 
widgets are added here 
'''
m.mainloop() 

tkinter还提供了对小部件几何配置的访问,可以在父窗口中组织小部件。主要有三个几何管理类。

1)pack()方法:在将其放置在父窗口小部件之前,将它们按块组织起来。

2)grid()方法:在放入父窗口小部件之前,它将窗口小部件组织在网格中(类似于表的结构)。

3)place()方法:它通过将小部件放置在程序员指定的位置来组织它们。

您可以在tkinter应用程序中放入许多小部件。以下是一些主要小部件的说明:

1.Button:要在您的应用程序中添加按钮,请使用此小部件。

通用语法为:

w=Button(master, option=value)

master是用于表示父窗口的参数。

有许多选项可用于更改按钮的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • activebackground:设置按钮在光标下的背景色。
  • activeforeground:设置按钮在光标下的前景色。
  • bg:设置正常的背景色。
  • command:调用一个函数。
  • font:设置按钮标签上的字体。
  • image:设置按钮上的图像。
  • width:设置按钮的宽度。
  • height:设置按钮的高度。
import tkinter as tk 
r = tk.Tk() 
r.title('Counting Seconds') 
button = tk.Button(r, text='Stop', width=25, command=r.destroy) 
button.pack() 
r.mainloop() 

输出:

2.画布(Canvas):用于绘制图片和其他复杂的布局,例如图形,文本和小部件。

通用语法为:

w = Canvas(master, option=value)
master is the parameter used to represent the parent window.

有许多选项用于更改小部件的格式。选项的数目可以通过逗号分隔的参数传递。其中一些列在下面。

  • bd:以像素为单位设置边框宽度。
  • bg:设置正常的背景色。
  • cursor:设置画布中使用的光标。
  • highlightcolor:设置焦点高光显示的颜色。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
from tkinter import *
master = Tk() 
w = Canvas(master, width=40, height=60) 
w.pack() 
canvas_height=20
canvas_width=200
y = int(canvas_height / 2) 
w.create_line(0, y, canvas_width, y ) 
mainloop() 

输出:

3.CheckButton:通过向用户显示多个选项作为切换按钮来选择任意数量的选项。一般语法为:

w = CheckButton(master, option=value)

有许多选项用于更改此小部件的格式。选项的数目可以通过逗号分隔的参数传递。其中一些列在下面。

  • Title:设置小部件的标题。
  • activebackground:当小部件在光标下时设置背景色。
  • activeforeground:当小部件在光标下时设置前景色。
  • bg:设置正常背景信息
  • command:调用函数。
  • font:设置按钮标签上的字体。
  • image:在小部件上设置图像。
from tkinter import *
master = Tk() 
var1 = IntVar() 
Checkbutton(master, text='male', variable=var1).grid(row=0, sticky=W) 
var2 = IntVar() 
Checkbutton(master, text='female', variable=var2).grid(row=1, sticky=W) 
mainloop() 

输出:

4.Entry:用于输入用户的单行文本条目。对于多行文本输入,使用“Text”小组件。

通用语法为:

w=Entry(master, option=value)

master是用于表示父窗口的参数。

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • bd:以像素为单位设置边框宽度。
  • bg:设置正常的背景色。
  • cursor:设置使用的光标。
  • command:调用一个函数。
  • highlightcolor:设置焦点高光显示的颜色。
  • width:设置按钮的宽度。
  • height:设置按钮的高度。
from tkinter import *
master = Tk() 
Label(master, text='First Name').grid(row=0) 
Label(master, text='Last Name').grid(row=1) 
e1 = Entry(master) 
e2 = Entry(master) 
e1.grid(row=0, column=1) 
e2.grid(row=1, column=1) 
mainloop() 

输出:

5.框架(Frame):它充当容纳小部件的容器。它用于分组和组织小部件。通用语法为:

w = Frame(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • highlightcolor:设置小部件必须聚焦时焦点高光的颜色。
  • bd:以像素为单位设置边框宽度。
  • bg:设置正常的背景色。
  • cursor:设置使用的光标。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
from tkinter import *
  
root = Tk() 
frame = Frame(root) 
frame.pack() 
bottomframe = Frame(root) 
bottomframe.pack( side = BOTTOM ) 
redbutton = Button(frame, text = 'Red', fg ='red') 
redbutton.pack( side = LEFT) 
greenbutton = Button(frame, text = 'Brown', fg='brown') 
greenbutton.pack( side = LEFT ) 
bluebutton = Button(frame, text ='Blue', fg ='blue') 
bluebutton.pack( side = LEFT ) 
blackbutton = Button(bottomframe, text ='Black', fg ='black') 
blackbutton.pack( side = BOTTOM) 
root.mainloop() 

输出:

6.标签(Label):它是指您可以在其中放置可根据代码随时更新的任何文本或图像的显示框。

通用语法为:

w=Label(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • bg:设置正常的背景色。
  • command:调用一个函数。
  • font:在按钮标签上设置字体。
  • image:在按钮上设置图像。
  • width:设置按钮的宽度。
  • height:以设置按钮的高度。
from tkinter import *
root = Tk() 
w = Label(root, text='GeeksForGeeks.org!') 
w.pack() 
root.mainloop() 

输出:

7.列表框(Listbox):它为用户提供了一个列表,用户可以从中接受任何数量的选项。

通用语法为:

w = Listbox(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • highlightcolor:设置小部件必须聚焦时焦点高光的颜色。
  • bg:设置正常的背景色。
  • bd:以像素为单位设置边框宽度。
  • font:在按钮标签上设置字体。
  • image:在小部件上设置图像。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
from tkinter import *
  
top = Tk() 
Lb = Listbox(top) 
Lb.insert(1, 'Python') 
Lb.insert(2, 'Java') 
Lb.insert(3, 'C++') 
Lb.insert(4, 'Any other') 
Lb.pack() 
top.mainloop() 

输出:

8.MenuButton:它是自上而下菜单的一部分,始终位于窗口中。每个菜单按钮都有其自己的功能。

通用语法为:

w = MenuButton(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • activebackground:当鼠标悬停在小部件上时设置背景。
  • activeforeground:在鼠标悬停在小部件上时设置前景。
  • bg:设置正常的背景色。
  • bd:设置指标周围边框的大小。
  • cursor:当鼠标悬停在菜单按钮上时显示光标。
  • image:在小部件上设置图像。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
  • highlightcolor:设置小部件必须聚焦时焦点高光的颜色。
from tkinter import *
  
top = Tk() 
mb =  Menubutton ( top, text = "GfG") 
mb.grid() 
mb.menu  =  Menu ( mb, tearoff = 0 ) 
mb["menu"]  =  mb.menu 
cVar  = IntVar() 
aVar = IntVar() 
mb.menu.add_checkbutton ( label ='Contact', variable = cVar ) 
mb.menu.add_checkbutton ( label = 'About', variable = aVar ) 
mb.pack() 
top.mainloop() 

输出:

9.菜单(Menu):用于创建应用程序使用的各种菜单。

通用语法为:

w = Menu(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改此小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • title:设置小部件的标题。
  • activebackground:设置小部件在光标下方时的背景颜色。
  • activeforeground:设置小部件在光标下方时的前景色。
  • bg:设置正常的背景色。
  • command:调用一个函数。
  • font:在按钮标签上设置字体。
  • image:在小部件上设置图像。
from tkinter import *
      
root = Tk() 
menu = Menu(root) 
root.config(menu=menu) 
filemenu = Menu(menu) 
menu.add_cascade(label='File', menu=filemenu) 
filemenu.add_command(label='New') 
filemenu.add_command(label='Open...') 
filemenu.add_separator() 
filemenu.add_command(label='Exit', command=root.quit) 
helpmenu = Menu(menu) 
menu.add_cascade(label='Help', menu=helpmenu) 
helpmenu.add_command(label='About') 
mainloop() 

输出:

10.消息(Message):它是指多行且不可编辑的文本。它的作用与Label相同。

通用语法为:

w = Message(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • bd:设置指示器周围的边框。
  • bg:设置正常的背景色。
  • font:在按钮标签上设置字体。
  • image:在小部件上设置图像。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
from tkinter import *
main = Tk() 
ourMessage ='This is our Message'
messageVar = Message(main, text = ourMessage) 
messageVar.config(bg='lightgreen') 
messageVar.pack( ) 
main.mainloop( ) 

输出:

11.RadioButton:用于向用户提供多项选择选项。它为用户提供了多个选项,用户必须选择一个选项。

通用语法为:

w = RadioButton(master, option=value)

有许多选项可用于更改此小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • activebackground:设置小部件在光标下方时的背景颜色。
  • activeforeground:设置小部件在光标下方时的前景色。
  • bg:设置正常的背景色。
  • command:调用一个函数。
  • font:在按钮标签上设置字体。
  • image:在小部件上设置图像。
  • width:以字符为单位设置标签的宽度。
  • height:以字符为单位设置标签的高度。
from tkinter import *
root = Tk() 
v = IntVar() 
Radiobutton(root, text='GfG', variable=v, value=1).pack(anchor=W) 
Radiobutton(root, text='MIT', variable=v, value=2).pack(anchor=W) 
mainloop() 

输出:

12.Scale:它用于提供一个图形滑块,允许从该缩放中选择任何值。一般语法为:

w = Scale(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • cursor:当鼠标悬停在窗口小部件上时更改光标模式。
  • activebackground:当鼠标悬停在小部件上时,设置小部件的背景。
  • bg:设置正常的背景色。
  • orient:根据需要将其设置为“水平”或“垂直”。
  • from_:设置刻度范围一端的值。
  • to:设置刻度范围另一端的值。
  • image:在小部件上设置图像。
  • width:设置小部件的宽度。
from tkinter import *
master = Tk() 
w = Scale(master, from_=0, to=42) 
w.pack() 
w = Scale(master, from_=0, to=200, orient=HORIZONTAL) 
w.pack() 
mainloop() 

输出:

13.Scrollbar:它是指将用于实现列出的小部件的滑动控制器。

通用语法为:

w = Scrollbar(master, option=value)
master is the parameter used to represent the parent window.

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • width:设置小部件的宽度。
  • activebackground:当鼠标悬停在小部件上时设置背景。
  • bg:设置正常的背景色。
  • bd:设置指标周围边框的大小。
  • cursor:当鼠标悬停在菜单按钮上时显示光标。
from tkinter import *
root = Tk() 
scrollbar = Scrollbar(root) 
scrollbar.pack( side = RIGHT, fill = Y ) 
mylist = Listbox(root, yscrollcommand = scrollbar.set ) 
for line in range(100): 
   mylist.insert(END, 'This is line number' + str(line)) 
mylist.pack( side = LEFT, fill = BOTH ) 
scrollbar.config( command = mylist.yview ) 
mainloop() 

输出:

14.Text:编辑多行文字并设置其显示方式的格式。

通用语法为:

w  =Text(master, option=value)

有许多选项可用于更改文本格式。可以将选项数量作为参数传递,并用逗号分隔。 下面列出了其中一些。

  • highlightcolor:设置小部件必须聚焦时焦点高光的颜色。
  • insertbackground:设置小部件的背景。
  • bg:设置正常的背景色。
  • font:在按钮标签上设置字体。
  • image:在小部件上设置图像。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
from tkinter import *
root = Tk() 
T = Text(root, height=2, width=30) 
T.pack() 
T.insert(END, 'GeeksforGeeks\nBEST WEBSITE\n') 
mainloop() 

输出:

15.TopLevel:此窗口小部件由窗口管理器直接控制。它不需要任何父窗口。常规语法为:

w = TopLevel(master, option=value)

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • bg:设置正常的背景色。
  • bd:设置指标周围边框的大小。
  • cursor:当鼠标悬停在菜单按钮上时显示光标。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
from tkinter import *
root = Tk() 
root.title('GfG') 
top = Toplevel() 
top.title('Python') 
top.mainloop() 

输出:

16.SpinBox:它是“entry”小部件的一个条目。在这里,可以通过选择数字的固定值来输入值。一般语法为:

w = SpinBox(master, option=value)

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • bg:设置正常的背景色。
  • bd:设置指标周围边框的大小。
  • cursor:当鼠标悬停在菜单按钮上时显示光标。
  • command:调用一个函数。
  • width:设置小部件的宽度。
  • activebackground:当鼠标悬停在小部件上时设置背景。
  • disabledbackground:当鼠标悬停在小部件上时禁用背景。
  • from_:设置范围一端的值。
  • to:设置范围另一端的值。
from tkinter import *
master = Tk() 
w = Spinbox(master, from_ = 0, to = 10) 
w.pack() 
mainloop() 

输出:

17.PannedWindowIt是一个容器小部件,用于处理排列在其中的窗格数。一般语法为:

w = PannedWindow(master, option=value)

master是用于表示父窗口的参数。

有许多选项可用于更改小部件的格式。可以将选项数量作为参数传递,并用逗号分隔。下面列出了其中一些。

  • bg:设置正常的背景色。
  • bd:设置指标周围边框的大小。
  • cursor:当鼠标悬停在菜单按钮上时显示光标。
  • width:设置小部件的宽度。
  • height:设置小部件的高度。
from tkinter import *
m1 = PanedWindow() 
m1.pack(fill = BOTH, expand = 1) 
left = Entry(m1, bd = 5) 
m1.add(left) 
m2 = PanedWindow(m1, orient = VERTICAL) 
m1.add(m2) 
top = Scale( m2, orient = HORIZONTAL) 
m2.add(top) 
mainloop() 

输出:

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: