python tkinter库函数详解_Python_面向对象_tkinter库

  • Post author:
  • Post category:python


#– 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 显示窗口