python GUI And Tkinter 01

文章介绍了Tkinter作为Python的图形界面库,包括GUI的基本概念,如何创建窗口并设置属性,如颜色和大小。还提到了各种Widget,如Button和Label,并讨论了Widget的共性属性如配置、事件处理和回调函数。此外,文章还涉及了tkinter与ttk模块的区别以及控件的事件绑定和定时调用机制。
摘要由CSDN通过智能技术生成

目录

一、基础介绍

二、创建窗口

1、创建完窗口后还需要知道窗口的相关属性

2、widget相关控件

3、原本tkinter有的Widget。

4、widget的共同属性

1. Configuration

2. Event Processing

3. Event callbacks

4. Alarm handlersafter(time,callback):间隔指定时间后调用callback( )方法。


一、基础介绍

1.GUI英文全称是Graphical User Interface,中文为图形用户接口。

2.tkinter是一个开放源码的图形接口开发工具,原来是用TCL(Tool Command Language,工具命令语言)编写的GUI函数库,最初发展是从1991年开始,具有跨平台的特性,可以在Linux、Windows、Mac OS等操作系统上执行。这个tkinter工具提供许多图形接口,例如,标签(Label)、菜单(Menu)、按钮(Button)等。

使用tkinter模块,需要导入

from tkinter import *

在使用tkinter模块的时候我们需要检查tkinter的版本

Import tkinter

print(tkinter.TkVersion)

一般8.5以后的版本功能比较健全。

二、创建窗口

我们设计GUI需要先创建窗口

Root=Tk() #root是自定义的Tk对象名称,也可以取其他的

Root.mainloop()#放到程序的最后一行

通常将使用Tk( )方法建立的窗口称为根窗口,之后可以在此根窗口中建立许多控件,也可以在此根窗口中建立上层窗口。本例中笔者用root当作对象名称,读者也可以自行取其他名称。上述mainloop( )方法可以让程序继续执行,同时进入等待与处理窗口事件,单击窗口右上方的“关闭”按钮,此程序才会结束。

注:

在GUI程序设计中,有时候也将上述所建立的窗口(window)称为容器(container)。

1、创建完窗口后还需要知道窗口的相关属性

Root.configure(bg='red')#除了可以使用名称直接设置色彩,还可以使用十六进制方式设置色彩RGB,其中每个色彩用两个十六进制数字表示。

geometry( )方法除了可以设置窗口的大小,也可以设置窗口的位置,此时它的语法格式如下。

Geometry(width x height+x+y)

上述widthxheight已说明是窗口的宽和高,width与height用x分隔。“+x”表示x是窗口左边距离屏幕左边的距离,如果是“-x”,则表示x是窗口右边距离屏幕右边的距离。“+y”表示y是窗口上边距离屏幕上边的距离,如果是“-y”则表示y是窗口下边距离屏幕下边的距离。

两种不同的设计方式

在tkinter模块里面可以使用winfo_screenwidth()屏幕宽度和winfo_screenheight()屏幕高度来获取屏幕高度和宽度。

2、widget相关控件

Widget可以翻译为控件或组件或部件。

窗口建立完成后,下一步是在窗口内建立控件,我们将这些控件统称为Widget。

(1)Button(按钮)。

(2)Canvas(画布)。

(3)Checkbutton(多选按钮)。

(4)Entry(文本框)。

(5)Frame(框架)。

(6)Label(标签)。

(7)LabelFrame(标签框架)。

(8)Listbox(列表框)。

(9)Menu(菜单)。

(10)MenuButton(菜单按钮):这个是过时的控件,已经被Menu( )取代。

(11)Message(消息)。

(12)OptionMenu(下拉式菜单)。

(13)PanedWindow(面板)。

(14)Radiobutton(单选按钮)。

(15)Scale(尺度)。

(16)Scrollbar(滚动条)。

(17)Spinbox(可微调输入控件)。

(18)Text(文字区域)。

(19)Toplevel(上层窗口)。

在tkinter中所有的Widget其实都是面向对象的类,我们通过调用构造方法来达到建立相关Widget控件的目的。

加强版的tkinter模块tkinter在后来也推出了加强版的模块,称为tkinter.ttk,有时简称ttk,这个模块中有17个Widget。

3、原本tkinter有的Widget。

(1)Button

(2)Checkbutton

(3)Entry

(4)Frame

(5)Label

(6)LabelFrame

(7)MenuButton

(8)Radiobutton

(9)Scale

(10)Scrollbar

(11)PanedWindow下列是ttk模块新增的Widget。

(1)Combobox。

(2)Notebook。

(3)Progressbar。

(4)Separator。

(5)Sizegrip:可以拖曳最上层窗口右下方更改最上层窗口的大小。

(6)Treeview。

导入上述模块可以使用下列方式。

From tkinter import ttk

如果使用下列方式导入ttk,可以覆盖原先tkinter的控件。

From tkinter import *

From tkinter.ttk import *

使用ttk可以有更好的外观,而且也可以跨平台使用,不过并没有100%兼容。例如,fg、bg参数或一些外观相关的参数tk和ttk是不相同。ttk使用的是ttk.Style类别。

4、widget的共同属性

Widget的共同属性设计控件时会看到下列共同属性。

Dimensions:大小。

Colors:颜色。

Fonts:字形。

Anchor:锚(位置参考点)。

Relief styles:属性边框。

Bitmaps:显示位图。

Cursors:鼠标外形。

设计控件时会看到下列常用的共同方法。

1. Configuration

(1)config(option=value):Widget属性可以在建立时设置,也可以在程序执行时使用config( )重新设置。

(2)cget("option"):取得option参数值。

(3)keys( ):可以用此方法获得所有该Widget的参数。

2. Event Processing

(1)mainloop( ):让程序继续执行,同时进入等待与处理窗口事件。

(2)quit( ):Python Shell窗口结束,但是所建窗口继续执行。

(3)update( ):更新窗口画面。

3. Event callbacks

(1)bind(event,callback):事件绑定。

(2)unbind(event):解除绑定。

4. Alarm handlersafter(time,callback):间隔指定时间后调用callback( )方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sky wide

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值