python之图形用户界面基础

tkinter是实现图形化界面开发python内置的模块,无需安装。我们在使用这个模块的时候直接进行导入即可:

导入的方式:
fromtkinter import *

创建一个窗口对象,即可显示该窗口:
root = Tk()
root叫根窗口,在这个基础上可以创建n多个窗口,和n多个组件。

让程序持续执行:
root.mainloop(),点击窗口的关闭按钮才能关闭程序。

窗口的属性和方法设置
title()	设置窗口的标题
geometry("200x300")	表示宽度为200,高度为300像素的窗口大小
maxsize(400,500)	只能将窗口拖拽扩大400x500的大小
minsize(200,100)	只能将窗口拖拽缩小200x100的大小
configure(bg = "red")	更改窗口的背景颜色,可以是颜色名称,也可以是16进制颜色
resizable(0,0)	不可以更改窗口大小
state("zoomed")	最大化窗口
iconify()	最小化窗口
iconbitmap("文件路径")	更改默认图标, 扩展名是•ico的文件

from tkinter import *
#初始化Tk
root = Tk()
#创建一个label
label = Label(root,text = 'Hello Tkinter')
#label仅仅是一个返回的对象,如果要显示这个对象,比需要要把这个对象装包显示。
label.pack()#显示label对象

同时使用图像与文本
Compound(英文混合的意思):指定文本(text)与图像(bitmap/image)是如何在Label上显示的,可以使用的值如下: 
left:    图像居左
right:    图像居右
top:    图像居上
bottom:图像居下
center:文字覆盖在图像上

简单的Button应用
from tkinter import *
#定义Button的回调函数(就是当时间启动所做的事情)
def helloButton():
print ('我是一名中国人')
root = Tk() #创建窗体对象
root.title("你好") #设置窗体标题
root.geometry("300x500") #设置窗体大小
#通过command属性来指定Button的回调函数
Button(root,text = 'Hello Button',command = helloButton).pack()
注意:每点击一次,回调函数就调用一次

Button按钮图片
使用可以使用png、gif这两种格式的图片。如果没有设置按钮的height和width属性,图片的源尺寸就是按钮的大小。
img = PhotoImage(file="py.png")#创建图片对象,如果图片和所编辑的代码文本在同一个文件夹中,可以直接写图片的文件名。


窗口配置方法:pack,grid,place

pack方法
Pack()方法的options有:side、fill、padx/pady
side 参数
from tkinter import *
root = Tk()
label1 = Label(root,text = "天津")
label2 = Label(root,text = "郑州")
label3 = Label(root,text = "乌龙木齐")
label1.pack(side = TOP)
label2.pack(side = TOP)
label3.pack(side = TOP)


Grid网格的意思,有两个属性row(行),column(列)。
label1.grid(row = 1,column = 0)    
label2.grid(row = 2,column = 1)  
label3.grid(row = 3,column = 2)  
Grid中的columnspan(跨列)  rowspan(跨行)

 place方法
指定插入标签的具体位置,表示控件的具体位置,单位是像素。
label1.place(x = 0,y = 0)    
label2.place(x = 30,y = 50)  
label3.place(x = 80,y = 100)  

上一篇:结构体字节对齐


下一篇:fatal: bad config value for 'pack.deltacachesize' in /root/.gitconfig