现在的位置: 首页 > 云计算 > 正文

python-tkinter如何使用

2020年02月14日 云计算 ⁄ 共 1558字 ⁄ 字号 评论关闭

  tkinter的基本使用

  1.创建空窗口

  首先导入tkinter模块,使用Tk()类创建一个窗口对象,但此时还不能显示,还要打开mainloop()进入消息循环,才可以正常显示窗口。因为loop循环的意思,mainloop会让窗口不断的刷新,如果没有它,就是一个静态的window,传入进去的值就不会有循环,窗口就会一闪而过,几乎看不到它的存在。

  仅仅三行代码就可以创建出这样的一个空窗口,我们可以将它放大缩小。

  2.窗口内嵌元素

  创建了窗口,我们就可以往里面放东西了,比如我们第一个GUI程序里的Button,也就是按钮,当然不只它一个,还有很多其他元素,如下表所示。

  控件控件名称及描述。

  Button按钮,可以在窗口中显示一个按钮来执行特定操作。

  Canvas画布,绘画功能,如点,线,面等。

  Frame框架,在窗口中显示一个矩形区域,用来存放其他GUI元素。

  Entry输入,允许用户输入单行文本。

  Checkbutton复选框,提供多项选择框,允许用户选择或反选某一选项

  Label标签,显示不可编辑的文本和图标。

  Listbox列表框,选项列表,让用户从中选择一项。

  Menubutton菜单按钮,用来包含菜单的组件。

  Menu菜单,点下菜单按钮后弹出的一个选项列表,让用户选择。

  Message消息,可以显示多行文本类似于label。

  Scrollbar滚动条,内容超过当前窗口范围时使用。.

  Scale进度条,线性滑块组件,可以设定起始和终止值,会显示当前位置的精确值。

  Radiobutton单选按钮,用户可以从多个选项中选取一个,不能多选。

  Text文本,显示多行文本。

  Toplevel顶层,用来提供一个单独的窗口,类似于Frame。

  Spinbox输入,可以指定输入范围值的Entry。

  LabelFrame容器控件,用于复杂的窗口布局。

  PanedWindow窗口布局管理插件,可以包含多个子控件。

  首先介绍几个简单的函数。

  title(),顾名思义是标题的意思,这里是给窗口对象设置标题,如运行结果的左上角所示文本。接下来的geometry()函数是设置窗口的大小和位置,其参数的具体含义如下:geometry(“weightxheight±x±y”),窗口的宽和高,中间一个字母’x’连接表示乘号,然后的±x±y表示距离屏幕的距离,+x表示距屏幕左边的距离,-x表示距屏幕右边的距离;+y表示距离屏幕上边的距离,-y表示距离屏幕下边的距离。

  tk.Label()就是我们的标签控件,里面的第一个参数必须是窗口对象,后面的属性均可以根据需要设置,以上分别为设置标签文本内容、背景颜色,字体字号、标签宽和高。

  设置好标签后,需要放置标签,即label.pack(),否则显示不出来。

  最后进入消息循环,显示窗口。

  接下来测试Button,即按钮,它和Label很类似,但是可以扩展功能,可以自由设置按下后触发的事件,就像我们写的一个GUI程序演示的那样。

  为了便于类别,在上述代码的基础上继续写。

  上述代码是对Button的基本设置,可以看到和Label的设置基本无异。

  不过我们可以点击这个按钮,而Label是不能点击的,接下来我们可以为按钮绑定事件,也就是点击按钮后触发的功能。

  这里增加功能:点击按钮后会弹出一个窗口,并显示提示语。

  需要用到messagebox函数,然后把弹出窗口的功能写在一个自定义函数fun中,接下来将这个函数与button绑定,方法可以使用第一个GUI的演示,使用bind()函数绑定。不过这里直接在button定义里面增加了一个参数command,给它传入fun参数,也可以完成绑定。

抱歉!评论已关闭.