python_GUI页面开发

GUI:人机交互图形化界面,图形页面窗口,Windows系统就是一个庞大的GUI界面,比命令行更加让人得以接受,使用更加简便

在python中的GUI界面是由tkinter提供的,使用前需导入

变量 = tk.Tk():创建一个窗口,将他实例化

变量 = geometry('长宽'):设置窗口的长宽

页面开发的最小内容:

1.导入tkinter模块

2.创建主窗口对象

3.将主窗口对象加入消息循环

import tkinter
#创建主窗口对象
root = tkinter.Tk()
#设置窗口大小
root.minsize(300,300)
#加入一个按钮组件
#创建一个按钮组件(在内存中创建)
but = tkinter.Button(root,text = "按钮1")
#摆放组件
but = pack()

 

组件的摆放方式:

1.pack()方式   ——>方位/方向摆放

2.gird()方式 ——>网格摆放方法

3.place()     ___>定位摆放方法

pack()方式:

side:设置组件相对于父组件的摆放位置

ipadx,ipady :设置组件的内部间距

padx,pady:设置多个组件之间的外部间距

expand:设置side是否失效

import tkinter
#创建主窗口对象
root = tkinter.Tk()
#设置窗口大小
root.minsize(300,300)
#加入一个按钮组件
#创建一个按钮组件(在内存中创建)
but = tkinter.Button(root,text = "按钮1")
#摆放组件
but = pack(ipadx = 20)
#创建组件2
btn2 = tkinter.Button(root,text = '按钮2')
btn2.pack(ipady = 20)
创建一个按钮组件
but3 = tkinter.Button(root,text = "按钮3")
#摆放组件
but = pack(padx = 20)
but5 = tkinter.Button(root,text = "按钮5")
but5.pack(fill = 'x',side = 'left')#该组件占据水平方向的最大位置
but6 = tkinter.Button(root,text = "按钮6")
but6.pack(expand = 'yes',fill = 'both')#让size失效

 

gird()方式

row 设置行数   默认为0

column 设置列数  默认为0

rowspan   设置跨列数量

ipadx,ipady   设置组件内部间距

import tkinter
#创建主窗口对象
root = tkinter.Tk()
#设置窗口大小
root.minsize(300,300)
#加入一个按钮组件
#创建一个按钮组件(在内存中创建)
but = tkinter.Button(root,text = "按钮1")
#摆放组件
but.grid(row = 0,column = 0)#设置行为0列为0
btn0 = tkinter.Button(root,text = '按钮0')
btn0.grid(row =2,column = 0,columnspan = 2)#占据2行

place()

绝对定位:

x:设置左上角水平长度+++++++单位像素

y:设置距离左上角的垂直宽度

width:设置组件所占据的宽度

heigh:设置组件所占据的宽度

 

import tkinter
#创建主窗口对象
root = tkinter.Tk()
#设置窗口大小
root.minsize(300,300)
#加入一个按钮组件
#创建一个按钮组件(在内存中创建)
but = tkinter.Button(root,text = "按钮1")
#摆放组件
but = place(x = ?,y = ?,width = ?,heigh = ?)#距离x(距离左上角的水平距离)多少,对于y多少#单位像素
#相对位置
 
but = place(relx = ?,rely = ?,width = ?,heigh = ?)#距离x(距离左上角的百分比水平距离)多少,对于y多少#单位百分比

 


相对定位:

relx:设置左上角水平长度(取值0-1)

rely:设置距离左上角的垂直宽度

relwidth:设置组件所占据的宽度

relheigh:设置组件所占据的宽度

 

.geometry(?x?):设置界面大小

button:

bg:背景颜色

fg:字体颜色

 

选择框/复选框:Checkbutton

import tkinter
root = tkinter.Tk()
#设置显示内容tkinter变量
#设置内容
text = tkinter.StringVar()
text.set('文本')
#设置复选框勾选与否的值
result = tkinter.IntVar()
def func():
    print(result.get())
                
cheekbutton = tkinter.Checkbutton(root,textvariable = text,variable = result,command = func)

root.mainloop()

Frame:相对于一个容器,框架

import tkinter
root = tkinter.Tk()
root.geometry("500x500")
frame1 = tkinter.Frame(root,bg = 'red',width = 500,height = 100)
frame1.pack()
frame2 = tkinter.Frame(root,bg = 'green',width = 500,height = 100)
frame2.pack()
bun = tkinter.Button(frame1,text = '按钮')
bun1 = tkinter.Button(frame2,text = '按钮')
bun2 = tkinter.Button(frame1,text = '按钮')
bun3 = tkinter.Button(frame1,text = '按钮')
bun.pack(side = 'left')
bun2.pack(side = 'left')
bun3.pack(side = 'left')
bun1.pack()
root.mainloop()

LabelFrame:标签框架

import tkinter
root = tkinter.Tk()
root.geometry("500x500")
frame1 = tkinter.LabelFrame(root,text = 'hahaha' ,bg = 'red',width = 500,height = 100)
frame1.pack()
frame2 = tkinter.LabelFrame(root,bg = 'green',width = 500,height = 100)
frame2.pack()
bun = tkinter.Button(frame1,text = '按钮')
bun1 = tkinter.Button(frame2,text = '按钮')
bun2 = tkinter.Button(frame1,text = '按钮')
bun3 = tkinter.Button(frame1,text = '按钮')
bun.pack(side = 'left')
bun2.pack(side = 'left')
bun3.pack(side = 'left')
bun1.pack()
root.mainloop()

Label:标签

import tkinter
root = tkinter.Tk()
root.geometry("500x500")
label = tkinter.Label(root,text = "标签")
label.pack()
root.mainloop()

 

listbox:列表盒子

import tkinter
root = tkinter.Tk()
root.geometry("500x500")
name = ("auy","hayaya","pox")
std = tkinter.StringVar(value=name)
listbox = tkinter.Listbox(root,listvariable = std)
listbox.pack()
root.mainloop()

 

 

文本输入框:Entry

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root,width = 50)#width输入框的长度
password = tkinter.Entry(root)#show代表遮盖符
entry.pack()
password.pack()
root.mainloop()
posted @ 2019-07-20 21:17  Alom  阅读(397)  评论(0编辑  收藏  举报