热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python安装tkinter模块window_Python之tkinter面板PanedWindow

PanedWindow的基本概念PanedWindow可以翻译为面板,是一个Widget控件,可以在此容器内建立任意数量的子控件,不过一般

PanedWindow 的基本概念

PanedWindow可以翻译为面板,是一个Widget 控件,可以在此容器内建立任意数量的子控件,不过一般在此控件内建立两三个子控件,而控件是以水平方向或垂直方向排列。它的构造方法语法如下

PanedWindow(父对象, options, ...)

参数:

第一个参数:父对象,表示这个面板将建立在哪一个窗口内

第二个参数:options,参数如下

参数

含义

bg 或 background

当鼠标光标不在此控件上时,若是有滚动条或方向盒时,滚动条或方向盒的背景色彩

bd

3D显示时的宽度

默认是2

borderwidth

边界线宽度

默认是2

cursor

当鼠标光标在标签上方时的形状

handlepad

面板显示宽度

默认是8

handlesize

面板显示大小

默认是8

height

高度

没有默认高度

opaqueresize

该选项定义了用户调整窗格尺寸的操作

如果该选项的值为 True(默认),窗格的尺寸随用户鼠标的拖拽而改变

如果该选项的值为 False,窗格的尺寸在用户释放鼠标的时候才更新到新的位置

orient

面板配置方向

默认是HORIZONTAL

relief

可由此控制文字外框

默认是relief=FLAT

sashcursor

分割线光标,没有默认值

sashpad

设置每一条分割线到窗格间的间距

sashrelief

面板分隔线外框

默认值是RAISED

sashwidth

设置分割线的宽度

showhandle

滑块属性,可设定是否显示

默认值为 False

width

面板整体宽度,没有默认值

插入子控件 add()

add(child, options)

可以插入子控件

例子:

import tkinter

panedWindow = tkinter.PanedWindow(orient=tkinter.VERTICAL)

panedWindow.pack(fill=tkinter.BOTH, expand=True)

# 创建标签Top

top = tkinter.Label(panedWindow, text='Top')

panedWindow.add(top)

# 创建标签Bottom

bottom = tkinter.Label(panedWindow, text='Bottom')

panedWindow.add(bottom)

panedWindow.mainloop()

运行结果:

放大后

建立LabelFrame 当做子对象

PanedWindow 是一个面板,最常的应用是将它分成两三份,然后可以将所设计的控件适度分配位置。

例子:

import tkinter

root = tkinter.Tk()

panedWindow = tkinter.PanedWindow(orient=tkinter.HORIZONTAL)

panedWindow.pack(fill=tkinter.BOTH, expand=True)

leftFrame = tkinter.LabelFrame(panedWindow, text='Left', " alt="" />

tkinter.ttk 模块的weight 参数

如果我们单纯的根据上面的程序进行缩放,结果只有最右边一个变大或者变小

图片示例:

但是如果我们想要同比例缩放或放大呢?

我们可以在add()方法内使用weight参数,但是使用这个需要导入tkinter.ttk

例子:

from tkinter import *

from tkinter.ttk import *

root = Tk()

panedWindow = PanedWindow(orient=HORIZONTAL)

panedWindow.pack(fill=BOTH, expand=True)

leftFrame = LabelFrame(panedWindow, text='Left', " alt="" />

如果三个子对象设置不同的 weight,更改窗口大小时,会产生不同的效果

例子:

from tkinter import *

from tkinter.ttk import *

root = Tk()

panedWindow = PanedWindow(orient=HORIZONTAL)

panedWindow.pack(fill=BOTH, expand=True)

leftFrame = LabelFrame(panedWindow, text='Left', " alt="" />

在PanedWindow 内插入不同的控件

例子:

import tkinter

panedWindow = tkinter.PanedWindow(orient=tkinter.HORIZONTAL)

panedWindow.pack(fill=tkinter.BOTH, expand=True)

entry = tkinter.Entry(panedWindow, bd=3)

panedWindow.add(entry)

# 在panedWindow内创建PanedWindow子对象,名叫panedWindowIn

panedWindowIn = tkinter.PanedWindow(panedWindow, orient=tkinter.VERTICAL)

panedWindow.add(panedWindowIn)

# 在panedWindowIn创建尺度条

scale = tkinter.Scale(panedWindowIn, orient=tkinter.HORIZONTAL)

panedWindowIn.add(scale)

panedWindow.mainloop()

运行结果:

谢谢观看,笔者会持续更新,如有错误或者建议,请私信我



推荐阅读
  • [翻译]PyCairo指南裁剪和masking
    裁剪和masking在PyCairo指南的这个部分,我么将讨论裁剪和masking操作。裁剪裁剪就是将图形的绘制限定在一定的区域内。这样做有一些效率的因素࿰ ... [详细]
  • 第一步:PyQt4Designer设计程序界面该部分设计类同VisvalStudio内的设计,改下各部件的objectName!设计 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 使用Flutternewintegration_test进行示例集成测试?回答首先在dev下的p ... [详细]
  • 人脸检测 pyqt+opencv+dlib
    一、实验目标绘制PyQT界面,调用摄像头显示人脸信息。在界面中,用户通过点击不同的按键可以实现多种功能:打开和关闭摄像头, ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • WPF开发心率检测大数据曲线图的高性能实现方法
    本文介绍了在WPF开发中实现心率检测大数据曲线图的高性能方法。作者尝试过使用Canvas和第三方开源库,但性能和功能都不理想。最终作者选择使用DrawingVisual对象,并结合局部显示的方式实现了自己想要的效果。文章详细介绍了实现思路和具体代码,对于不熟悉DrawingVisual的读者可以去微软官网了解更多细节。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
author-avatar
我就是人家
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有