Tkinter 之PanedWindow标签

时间:2019-11-13
本文章向大家介绍Tkinter 之PanedWindow标签,主要包括Tkinter 之PanedWindow标签使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、参数说明

参数作用
background(bg) 设置背景颜色
borderwidth(bd) 设置边框宽度
cursor  指定当鼠标在PanedWindow上飘过的时候的鼠标样式
handlepad 调节“手柄”的位置,默认值是8像素
orient 指定窗格的分布方式,有HORIZONTAL 和VERTICAL两种
height  设置PanedWindow的高度
opaqueresize  如果该选项的值为True(默认),窗格的尺寸随用户鼠标的拖拽而改变,如果该选项的值为False,窗格的尺寸在用户释放鼠标的时候才更新到新的位置
relief  默认值是FLAT,另外你还可以设置SUNKEN,RAISED,GROOVED或RIDGE
sashpad  设置每一条分割线到窗格间的间距
sashrelief  设置分割线的样式,默认值是FLAT,另外你还可以设置SUNKEN,RAISED,GROOVED或RIDGE
sashwidth  设置分割线的宽度
showhandle  设置是否显示调节窗格的手柄,默认值为False
width  设置PanedWindow的宽度,如果忽略该选项,则高度由子组件的尺寸决定

方法列表:

add(child, **options)
--添加一个新的子组件到窗格中

--下方列举了各个 options 选项的具体含义

after   添加新的子组件到指定子组件后边
before   添加新的子组件到指定子组件前边
height      指定子组件的高度
minsize
该选项控制窗格不得低于的值

如果orient=HORIZONTAL,表示窗格的宽度不得低于该选项的值

如果orient=VERTICAL,表示窗格的高度不得低于该选项的值

padx        指定子组件的水平间距
pady        指定子组件的垂直间距
sticky
当窗格的尺寸大于子组件时,该选项指定子组件位于窗格的位置

可选的值有:E、S、W、N(东南西北)以及他们的组合值

width        指定子组件的宽度
 

forget(child)
--删除一个子组件

 

identify(x, y)
--给定一个坐标 (x, y),返回该坐标所在的元素名称

--如果该坐标位于子组件上,返回空字符串

--如果该坐标位于分割线上,返回一个二元组 (n, 'sash'),n 为 0 表示第一个分割线

--如果该坐标位于手柄上,返回一个二元组 (n, 'handle'),n 为 0 表示第一个手柄

 

panecget(child, option)
--获得子组件指定选项的值

 

panecget(child, option)
--获得子组件指定选项的值

 

paneconfig(child, **option)
--设置子组件的各种选项

--下面列举了各个 options 选项具体含义

after:添加新的子组件到指定子组件后边

before:添加新的子组件到指定子组件前边

height:指定子组件的高度

二、代码示例

import tkinter as tk
from tkinter import ttk
 
window = tk.Tk()
# 设置窗口大小
winWidth = 600
winHeight = 400
# 获取屏幕分辨率
screenWidth = window.winfo_screenwidth()
screenHeight = window.winfo_screenheight()
 
x = int((screenWidth - winWidth) / 2)
y = int((screenHeight - winHeight) / 2)
 
# 设置主窗口标题
window.title("PanedWindow参数说明")
# 设置窗口初始位置在屏幕居中
window.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))
# 设置窗口图标
window.iconbitmap("./image/icon.ico")
# 设置窗口宽高固定
window.resizable(0, 0)

pw_left = tk.PanedWindow(window)
pw_left.pack(fill = tk.BOTH, expand = 1)

frame = tk.Frame(pw_left)
pw_left.add(frame, width = 200)

tree = ttk.Treeview(frame, show = "tree", selectmode = "browse")
tree.pack(fill = tk.BOTH, expand = 1)

myid=tree.insert("",0,"中国",text="中国China",values=("1"))  # ""表示父节点是根
myidx1=tree.insert(myid,0,"广东",text="中国广东",values=("2"))  # text表示显示出的文本,values是隐藏的值
myidx2=tree.insert(myid,1,"江苏",text="中国江苏",values=("3"))
myidy=tree.insert("",1,"美国",text="美国USA",values=("4"))    
myidy1=tree.insert(myidy,0,"加州",text="美国加州",values=("5"))

l = tk.Label(pw_left, text = "i am right")
pw_left.add(l)

window.mainloop()

  

三、效果图

原文地址:https://www.cnblogs.com/yang-2018/p/11847312.html