python gui设计 tkinter菜鸟编程_Python GUI设计——tkinter菜鸟编程(上)

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

tkinter是一个开放源码的图形接口开发工具,在安装Python时,就已经同时安装此模块了,在使用前只需要导入即可。

importtkinterprint(tkinter.TkVersion)8.6

1. 建立窗口

from tkinter import *root=Tk()

root.mainloop()

通常将使用Tk()方法建立的窗口称为根窗口,默认名称是tk,之后可以在此根窗口中建立许多控件,也可以在此根窗口中建立上层窗口。mainloop()方法让程序继续执行,同时进入等待与处理窗口事件,单击窗口的"关闭"按钮,此程序才会结束。

与窗口相关的方法:方法

说明

title()

可以设置窗口的标题

geometry("widthxheight+x+y")

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

maxsize(width,height)

拖曳时窗口最大的宽和高

minsize(width,height)

拖曳时窗口最小的宽和高

configure(bg="color")

设置窗口的背景颜色

resizable(True,Ture)

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

state("zoomed")

最大化窗口

iconify()

最小化窗口

iconbitmap("xx.ico")

更改默认窗口图标

root =Tk()

root.title("MyWindow")

root.geometry("300x160+400+200")

root.configure(bg="#33ff33")

root.iconbitmap("mystar.ico")

root.mainloop()

geometry中width和height用x分隔,表示窗口的宽和高,+x是窗口左边距离屏幕左边的距离,如果是-x则是表示窗口右边距离屏幕右边的距离,同理,+y或-y表示窗口上边(下边)距离屏幕上边(下边)的距离。

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

winfo_screenheight():屏幕高度。

下面的程序将窗口显示在屏幕中央。

root =Tk()

screenWidth=root.winfo_screenwidth()

screenHeight=root.winfo_screenheight()

w= 300h= 160x= (screenWidth - w) / 2y= (screenHeight -h) / 2root.geometry("%dx%d+%d+%d" %(w,h,x,y))

root.mainloop()

2. tkinter的Widget

Widget可以翻译为控件或组件或部件。窗口建立完成后,下一步就是在窗口内建立控件。

控件Button:按钮;

Canvas:画布;

Checkbutton:多选按钮;

Entry:文本框;

Frame:框架;

Label:标签;

LabelFrame:标签框架;

Listbox:列表框;

Menu:菜单;

Message:消息;

OptionMenu:下拉菜单;

PanedWindow:面板;

Radiobutton:单选按钮;

Scale:尺度;

Scrolbar:滚动条;

Spinbox:可微调输入控件;

Text:文字区域;

Toplevel:上层窗口。

加强版模块tkinter.ttk中新增的Widget:Combobox;

Notebook;

Progressbat;

Separator;

Sizegrip;

Treeview。

Widget的共同属性:Dimensions:大小;

Colors:颜色;

Fonts:字体;

Anchor:锚(位置参考点);

Relief styles:属性边框;

Bitmaps:显示位图;

Cursors:鼠标外形。

Widget的共同方法:Configurationconfig(option=value):Widget属性可以在建立时设置,也可以在程序执行时使用config()重新设置;

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

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

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

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

update():更新窗口画面。

Event callbacksbind(event,callback):事件绑定;

unbind(event):接触绑定。

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

3. 标签

Label()方法用于在窗口内建立文字或图像标签。Label(父对象,options,…)

常用options参数:anchor:如果空间大于所需时,控制标签的位置,默认是CENTER(居中);√ 3.2

bg或background:背景颜色;√ 3.1

bitmap:使用默认图标当做标签内容;√ 3.6

borderwidth或bd:标签边界宽度,默认为1;

compound:可以设置标签内含图形和文字时,彼此的位置关系;√ 3.7

cursor:当鼠标光标在标签上方时的外形;√ 3.12

fg或foreground:前景颜色;√ 3.1

font:可选择字形、字形样式与大小;√ 3.4

height:标签高度,单位是字符;√ 3.1

image:标签以图形形式呈现;√ 3.10

justify:存在多行文本时最后一行的对齐方式,可取left/center(默认)/right;√ 3.5

padx/pady:标签文字与标签区间的间距,单位是像素;√ 3.9

relief:默认为FLASE,可控制标签的外框;√ 3.8

text:标签文字内容,使用\n可输入多行;√ all

textvariable:可以设置标签以变量的形式显示;

underline:可以设置第几个文字有下划线,从0开始,默认为-1,表示无下划线;

width:标签宽度,单位是字符;√ 3.1

wraplength:文本到多少宽度后换行,单位是像素。√ 3.3

3.1 Color、Dimensions

Widget的共同属性。

bg、fg设置背景、前景色。

width、height的单位是字符。

root =Tk()

root.title("Ex")

root.geometry("200x80")

label= Label(root, text = "I like tkinter", \

bg= "#EF72AA", fg = "white", \

height= 3, width = 20)

label.pack()#包装与定位组件

root.mainloop()

3.2 Anchor

Widget的共同属性。

Anchor是指标签文字在标签区域的输出位置。

比如nw效果如下:

anchor的参数设置也可以使用NW、N、NE、W等大写常数,同时省略字符串的双引号。

3.3 Wraplengthwraplength = 35

效果如下:

3.4 Font

Widget的共同属性。

用于设置文字字形。family:字形,如Helvetica、Times等;

size:字号,单位是像素;

weight:如bold、normal;

slant:如italic、roman;

underline:True、False;

overstrike:True、False。

root =Tk()

root.title("Ex")

label= Label(root, text = "I like tkinter", \

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值