Python_面向对象_tkinter库
Posted bling-bling-star
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_面向对象_tkinter库相关的知识,希望对你有一定的参考价值。
#-- tkinter 一个跨平台的GUI库,对图形库TK的封装 可在win,linux或者mac下运行
import tkinter
# linux用命令进行tkinter安装 sudo apt-get install python3-tk(python3-tk)
root = tkinter.Tk()
root.title(‘网格布局‘)
root.minsize(300,300)
root.resizable(False,False)
# 从这写内容 #
root.mainloop()
#-- tkinter 布局
pack() 方位布局
place() 坐标布局
grid() 网格布局
"""
padx/pady 组件外部在x(y)方向上填充的空间大小,默认单位为像素
ipadx/ipady 组件内部在x(y)方向上填充的空间大小,默认单位为像素
anchor : “n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(默认“center”) 控制组件方位
"""
#pack 属性
ipadx=10,ipady=10,padx=20,pady=100,anchor="ne"
#place 绝对属性
x = 20,y = 20,width = 50,height = 50
#place 相对属性
relx = 0.05,rely = 0.05,relwidth = 0.2,relheight = 0.2
#grid 属性
row = 3,column = 0,ipadx = 50,ipady = 10,padx = 10,pady = 10,columnspan = 2 rowspan = 2
=======================================================
import tkinter
# 生成一个窗口对象
root = tkinter.Tk()
# 设置窗口的标题
root.title("这是一个窗口")
# 设置窗口的大小
root.minsize(300,300) # 最小窗口大小
root.maxsize(600,600) # 最大窗口大小
# root.resizable(False,False) # 将窗口大小固定
# pack 方位布局
# ipadx 横向填充 ipady 纵向填充
# anchor:e s w n ne nw se sw(默认center) 代表方位
"""
btn1 = tkinter.Button(text="1")
btn1.pack(ipadx=10,ipady=10,padx=10,pady=10)
btn2 = tkinter.Button(text="2")
btn2.pack(idapx=10,idapy=10,padx=10,pady=10)
"""
# side属性:lef right top bottom
"""
btn1 = tkinter.Button(text="1")
btn1.pack(ipadx=10,ipady=10,padx=10,pady=10,side="left")
btn2 = tkinter.Button(text="2")
btn2.pack(ipadx=10,ipady=10,padx=10,pady=10,side="left")
"""
# place 坐标布局
"""
(1) 绝对布局
(2) 相对布局
x,y是坐标 width,height是宽度和高度
"""
# place (绝对布局)
"""
btn1 = tkinter.Button(text="1")
btn1.place(x=20,y=20,width=50,height=50)
btn3 = tkinter.Button(text="3")
btn3.place(x=160,y=20,width=50,height=50)
btn5 = tkinter.Button(text="5")
btn5.place(x=90,y=90,width=50,height=50)
btn7 = tkinter.Button(text="7")
btn7.place(x=20,y=160,width=50,height=50)
btn9 = tkinter.Button(text="9")
btn9.place(x=160,y=160,width=50,height=50)
"""
# place(相对布局)
"""
btn2 = tkinter.Button(text="2")
btn2.place(relx=0.3,rely=0.05,relwidth=0.2,relheight=0.2)
btn4 = tkinter.Button(text="4")
btn4.place(relx=0.05,rely=0.3,relwidth=0.2,relheight=0.2)
btn6 = tkinter.Button(text="6")
btn6.place(relx=0.55,rely=0.3.relwidth=0.2,relheight=0.2)
btn8 = tkinter.Button(text="8")
btn8.place(relx=0.3,rely=0.55,relwidth=0.2,relheight=0.2)
"""
# gird 网格布局
"""
btn1 = tkinter.Button(text="1")
btn1.grid(row=0,column=0,ipadx=10,ipady=10,padx=10,pady=10)
btn2 = tkinter.Button(text="1")
btn2.grid(row=0,column=1,ipadx=10,ipady=10,padx=10,pady=10)
btn3 = tkinter.Button(text="1")
btn3.grid(row=0,column=2,ipadx=10,ipady=10,padx=10,pady=10)
"""
# columnspan 列合并(左右合并)
# rowspan 行合并(上下合并)
"""
btn0 = tkinter.Button(text="0")
btn0.grid(row=3,column=0,ipadx=120,ipady=10,padx=10,pady=10,columnspan=3)
btn_echo = tkinter.Button(text="=")
btn_echo.grid(row=0,column=3,ipadx=10,ipady=120,padx=10,pady=10,rowspam=3)
"""
# frame
frame1 = tkinter.Frame(root,width=300,heght=50,bg="red")
frame1.pack(pady=5)
btn1 = tkinter.Button(frame1,text="1")
btn1.pack(side="left",ipadx=5,ipady=10)
btn2 = tkinter.Button(frame1,text="2")
btn2.pack(side="left",ipadx=5,ipady=10)
btn3 = tkinter.Button(frame1,text="3")
btn3.pack(side="left",ipadx=5,ipady=10)
# 固定显示窗口 (涉及队列)
root.mainloop()
"""
pack 方位布局
参数:ipadx ipady padx pady anchor side
place 坐标布局
绝对布局参数:x y padx pady
相对布局参数:relx rely relwidth relheight
gird 网格布局
参数:row column ipadx ipady padx pady rowspan columnspan
"""
=======================================================
#Frame 属性
#--划分页面
frame1 = tkinter.Frame(root,height = 50,width = 300)
frame1.pack_propagate(0) # 按照原定义宽高分布,不会随着其中内容的改变而改变
frame1.pack(pady = 10)
#在第一个frame中摆放组件
btn = tkinter.Button(frame1,text = ‘1‘).pack(side = ‘left‘,padx = 20)
#--各种组件
"""
公共属性:
text 设置文字
bg 背景色
fg 前景色
bd 边框
width 宽度
height 高度
anchor 按钮中的文字方位 e s w n nw ne sw se 默认center
font 类型[,大小,粗细,斜体] 例: font= (‘黑体‘,20,‘bold‘,‘italic‘)
command 点击按钮后触发的动作(函数)
变量.set(参数) 设置值
变量.get() 获取值
"""
#--基本按钮 button
"""
button属性:
state 设置状态 disabled 不能用 normal 正常
"""
#--选择按钮 Checkbutton
"""
Checkbutton 属性:
variable 指定变量
onvalue 选中值
offvalue 没选中值
0值在哪代表默认状态是什么(选中 没选中)
tkinter.IntVar() tkinter.StringVar() 创建变量方式整型或字符串
"""
#--单选按钮 Radiobutton
"""
#justify 设置内置多行文字的对其方式 left center right
"""
#--普通文本框 Entry
"""
#密码框 show 设置密码数框的覆盖符号
#设置变量textvariable:字符串 StringVar 整形IntVar 浮点型DoubleVar 布尔值BooleanVar 先设置变量在文本框
#selectbackground 设置选中内容的背景色 selectforeground 选中内容的前景色
#state 设置状态 disabled 不能用 normal 正常 readonly 只读
"""
#--多行文本 Text
"""
多行文本 除了show与普通文本框属性一致
"""
#--标签组件Label
"""
标签组件Label 除了show和选中设置 与普通文本框属性一致
"""
#--菜单组件
allmenu = tkinter.Menu()
#添加分割线
edit.add_separator()
#向子菜单中添加选项卡
edit = tkinter.Menu(tearoff = 0)
edit.add_command(label = ‘退出‘,command = demo)
#将子菜单加入总菜单
allmenu.add_cascade(menu = edit,label = ‘编辑‘)
#摆放总菜单
root.config(menu = allmenu)
#--消息框 messagebox
"""
属性:message title
"""
messagebox:
showinfo 显示信息对话框
showwarning 提示警告对话框
showerror 显示错误对话
askquestion 问题对话框
askokcancel 确定还是取消对话框
askyesno 是不是对话框
askretrycancel 重试或者取消对话框
#--简易对话框simpledialog
"""
属性:title ,prompt,initialvalue
"""
simpledialog:
askstring 字符串对话框
askinteger 整形对话框
askfloat 浮点数对话框
#--文件对话框filedialog
filedialog:
#askopenfilename 请求文件名称对话框
#askdirectory 请求文件夹对话框
#asksaveasfilename 保存文件对话框
"""
title = ‘请选择文件保存路径‘,
initialdir = ‘/‘,
initialfile = ‘默认文件名称‘,
filetypes =((‘文本文件‘,‘*.txt‘),(‘word文件‘,‘*.doc‘),(‘任意文件‘,‘*.*‘))
"""
#--顶级窗口 toplevel
#withdraw 关闭窗口
#iconify 隐藏窗口
#deiconify 显示窗口
以上是关于Python_面向对象_tkinter库的主要内容,如果未能解决你的问题,请参考以下文章