Python GUI设计——基本概念

GUI英文全称是Graphical User Interface,中文是图形用户接口,可以让用户与计算机进行沟通。

tkinter是一个开放源码的图形接口开发工具,原来是用TCL(Tool Command Language,工具命令语言)编写的GUI函数库,最初发展是从1991年开始的,具有跨平台的特性。tkinter工具提供许多图形接口,例如标签(Label)、菜单(Menu)、按钮(Button)等。

目录

1.建立窗口

1.1窗口属

1.1.1窗口位置设置

2.tkinter的Widget

2.1Widget的共同属性

2.2widgets的共同方法

2.2.1Configuration

2.2.2Event Processing

2.2.3Event callbacks

2.2.4Alarm handlers


1.建立窗口

首先导入模块

from tkinter import *

然后用下列方式建立窗口

root = Tk()
root.mainloop()

        窗口有时候也称为容器

1.1窗口属

方法

说明

title()

可以设置窗口的标题

geometry(“widthxheight+x+y”)

设置窗口宽width与高height,单位是像素pixel,设定窗口位置

maxsize(width,height)

拖曳时可以设置窗口最大的宽与高

minsize(width,height)

拖曳时可以设置窗口最小的宽与高

configure(bg=”color”)

设置窗口的背景颜色

resizable(True,True)

可设置是否更改窗口大小,第一个参数是宽,第二个参数是高,如果要固定宽与高,可以使用resizable(0,0)

state(“zoomed”)

最大化窗口

iconify()

最小化窗口

iconbitmap(“xx.ico”)

更改默认窗口图标

 示例:

from tkinter import *

root = Tk()
root.title("Hello world")    # 更改窗口标题
root.iconbitmap("1.ico")     # 设置窗口图标
root.geometry("500x500")     # 设置窗口大小
root.configure(bg = 'pink')  # 设置窗口颜色

root.mainloop()

1.1.1窗口位置设置

root.geometry("200x100+100+500")     # 距离屏幕左上角(100,500)

上述widthxheight说明窗口的宽和高,width与height用字母x分隔;+x+y表示距离屏幕左上角的位置,如果是-x-y表示距离屏幕右下角的位置

在tkinter模块可以使用下列方法获得屏幕的宽度和高度:

winfo_screenwidth()
winfo_screengeight()

示例:将窗口放置在屏幕中央

from tkinter import *

root = Tk()
screenwid = root.winfo_screenwidth()      # 获得屏幕宽度
screenhei = root.winfo_screenheight()     # 获得屏幕高度
w = 500
h = 500
x = (screenwid - w) / 2                   
y = (screenhei - h) /2
a = 3
root.geometry("%dx%d+%d+%d" % (w,h,x,y))

root.mainloop()

2.tkinter的Widget

Widget可以翻译为控件或组件或部件。窗口建立完成后,下一步是在窗口内建立控件,这些控件称为Widget。具体的控件参考我的博客(Tkinter图形界面应用)

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

Tkinter在后来也推出了加强版的模块,称为tkinter.ttk,有时候简称ttk,这个模块有17个widget,新增的模块有:

Combobox
Notebook
Progressbar
Separator
Sizegrip
Treeview

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

2.1Widget的共同属性

Dimensions:大小

Colors:颜色

Fonts:字形

Anchor:锚(位置参考点)

Relief styles:属性边框

Bitmaps:显示位图

Cursors:鼠标外形

2.2widgets的共同方法

2.2.1Configuration

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

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

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

2.2.2Event Processing

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

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

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

2.2.3Event callbacks

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

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

2.2.4Alarm handlers

after(time,callback):间隔指定时间后调用callback()

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱学习的呆子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值