在开始创建Windows窗口前我们先来了解下tkinter库及一些简单组件
tkinter(Tk interface)是Python的标准GUl库,支持跨平台的GUl程序开发。tkinter适合小型的GUl程序编写,也特别适合初学者学习GUl编程。
Labei标签
Label(标签)主要用于显示文本信息,也可以显示图像。
Button
Button(按钮)用来执行用户的单击操作。Button 可以包含文本,也可以包含图像。
Text 多行文本框
Text(多行文本框)的主要用于显示多行文本还可以显示网页链接, 图片, HTML 页面, 甚至 CSS 样式表,添加组件等
布局管理器
tkinter 提供的布局管理器可以帮助我们组织、管理在父组件中子组件的布局方式。tkinter 提供了三种管理器:pack、grid、place。
#创建Windows窗口
#基本四要素:
import tkinter #导入tkinter模板
root=tkinter.Tk() #创建Windows窗口对象
root.title('我的第一个CUI程序')#设置窗口标题
root.mainloop() #进入等待与处理窗口事件
接着我就详细介绍下tkinter 提供的三种管理器:pack、grid、place
import tkinter #导入tkinter
root=tkinter.Tk() #给所建的窗口命名
root.geometry('300x200+300+300')#窗口的宽度x高度(x是小写的英文字母,不是*)
root.config(bg='#ccff00') #窗口的背景颜色
label=tkinter.Label(root,text='hello,python')#设置标签
label.pack()
button1=tkinter.Button(root,text='BUTTON1')#设置按钮1
button1.pack(side=tkinter.LEFT)#设置按钮的位置
button2=tkinter.Button(root,text='BUTTON2')#设置按钮2
button2.pack(side=tkinter.RIGHT)#设置按钮的位置
root.mainloop()
pack 按照组件的创建顺序将子组件添加到父组件中,按照垂直或者水平的方向自然排布。如果不指定任何选项,默认在父组件中自顶向下垂直添加组件。pack是代码量最少,最简单的一种,可以用于快速生成界面 。
接下来我们来看下grid布局
from tkinter import*
root=Tk()
root.geometry('300x200+300+300')
root.config(bg='#ccff00')
root.title('计算机实例-2022110207004陈玉昆')
#定义按钮
button1=Button(root,text='1',width=5,bg='#24cf00')
button2=Button(root,text='2',width=5,bg='#cc0023')
button3=Button(root,text='3',width=5,bg='#ab2523')
button4=Button(root,text='4',width=5,bg='#cfacbd')
button5=Button(root,text='5',width=5,bg='#18adaf')
button6=Button(root,text='6',width=5,bg='#00ffcc')
button7=Button(root,text='7',width=5,bg='#cc15ab')
button8=Button(root,text='8',width=5,bg='#bc15af')
button9=Button(root,text='9',width=5,bg='#20aeef')
button0=Button(root,text='0',width=5,bg='#abcd15')
button10=Button(root,text='.',width=5,bg='#af2513')
#对按钮进行布局
button1.grid(row=0,column=0)
button2.grid(row=0,column=1)
button3.grid(row=0,column=2)
button4.grid(row=1,column=0)
button5.grid(row=1,column=1)
button6.grid(row=1,column=2)
button7.grid(row=2,column=0)
button8.grid(row=2,column=1)
button9.grid(row=2,column=2)
button0.grid(row=3,column=0,columnspan=2,sticky=E+W)
button10.grid(row=3,column=2,sticky=E+W)
root.mainloop()
grid 表格布局,采用表格结构组织组件。子组件的位置由行和列的单元格来确定,并且可以跨行和跨列,从而实现复杂的布局。
最后是place布局
#palce布局
from tkinter import*
root=Tk()
root.title('登录')
root.geometry('400x200')
root.config(bg='#ffcc00')
#定义标签和文本
label_1=Label(root,text='用户名',width=6)
entry_1=Entry(root,width=20)
label_2=Label(root,text='密码',width=6)
entry_2=Entry(root,width=20,show='*')
button_1=Button(root,text='登录',width=8)
button_2=Button(root,text='取消',width=8)
#设置标签及按钮的位置
label_1.place(x=1,y=1)
entry_1.place(x=45,y=1)
label_2.place(x=1,y=20)
entry_2.place(x=45,y=20)
button_1.place(x=40,y=40)
button_2.place(x=110,y=40)
root.mainloop()
place 布局管理器可以通过坐标精确控制组件的位置,适用于一些布局更加灵活的场景。
好了以上就是对创建windows窗口的简单叙述,希望这能对你有帮助!!