【Tkinter系列07/15】小部件Message、下拉菜单、移动窗

news2024/11/28 22:38:46

17. 小部件Message

此小部件类似于小部件 (请参见第 12 节 “标签小部件”),但它适用于 在多行上显示消息。所有文本将 以相同的字体显示;如果需要显示文本 使用多种字体,请参见第 24 节 “文本小部件”。Label

创建新构件作为子小部件 名为 的根窗口或框架:Messageparent

    w = tk.Message(parent, option, ...)

此构造函数返回新小部件。选项可以是以下任何一种:Message

表 26.消息小部件选项

aspect使用此选项指定宽度与 身高百分比。例如,会给你一条短信 适合正方形;跟 文本区域的宽度将是高度的两倍。这 默认值为 150,即文本将适合 放入一个比高宽 50% 的盒子中。aspect=100aspect=200
bgbackground文本后面的背景颜色;请参见第 5.3 节 “颜色”。
bdborderwidth小部件周围边框的宽度;请参见第 5.1 节 “尺寸”。默认值为 <> 像素。仅当此选项不是 时,此选项才可见。relieftk.FLAT
cursor指定鼠标 在小部件上;请参见第 5.8 节 “游标”。
font指定用于在 控件;请参见第 5.4 节 “键入字体”。
fgforeground指定文本颜色;请参见第 5.3 节 “颜色”。
highlightbackground焦点的颜色 当小组件没有焦点时突出显示。请参见第 53 节 “焦点:路由键盘输入”。
highlightcolor颜色显示在 当小组件具有焦点时,焦点突出显示。
highlightthickness焦点突出显示的厚度。
justify使用此选项可以指定多行 文本对齐。用于获得笔直的左边距; 使每条线居中;并直截了当 右边距。justify=tk.LEFTjustify=tk.CENTERjustify=tk.RIGHT
padx使用此选项可在 文本左侧和右侧的小部件。这 值以像素为单位。
pady使用此选项可在 文本上方和下方的小部件。值在 像素。
relief此选项指定边框的外观 在小部件的外部周围;请参见第 5.6 节 “浮雕样式”。默认样式为 。tk.FLAT
takefocus通常,小部件不会 获取焦点(请参见第 53 节 “焦点:路由键盘输入”)。用于将微件添加到 焦点遍历列表。Messagetakefocus=True
text此选项的值是要包含的文本 显示在小部件内。
textvariable如果您希望能够更改消息 在程序控制下,将此选项与实例关联(请参见第 52 节 “控制变量:小部件后面的值”)。这个的价值 变量是要显示的文本。如果你 同时指定 和 选项,则忽略该选项。StringVartexttextvariabletext
width使用此选项可指定文本的宽度 微件中的区域(以像素为单位)。默认宽度 取决于显示的文本和选项的值。aspect

18. 小部件OptionMenu

此小部件的目的是提供一组固定的 下拉菜单中的用户选项。

上图显示了两种状态。左侧示例显示了 它的初始形式。右侧示例显示了它如何 当鼠标单击它并向下拖动到 选择。OptionMenu'boat'

创建新小部件作为 名为 的根窗口或框架的子窗口或框架的子项:OptionMenuparent

    w = tk.OptionMenu(parent, variable, choice1, choice2, ...)

此构造函数返回新小部件。这是一个实例(请参见第 52 节 “控制变量:小部件背后的值”),它与 小部件,其余参数是要选择的 在小组件中显示为字符串。OptionMenuvariableStringVar

上图是使用以下代码片段创建的:

    optionList = ('train', 'plane', 'boat')
    self.v = tk.StringVar()
    self.v.set(optionList[0])
    self.om = tk.OptionMenu(self, self.v, *optionList)

要找出当前在小部件中选择了哪个选项,关联控制变量上的方法将返回该 选择为字符串。OptionMenu.get()

19. 小部件PanedWindow

小部件的目的是 让应用程序的用户对空间大小进行一些控制 在应用程序中划分。PanedWindow

A有点像a:它是孩子的容器 小部件。每个小部件都包含一个水平或垂直的子堆栈 部件。使用鼠标,用户可以拖动边界 在子小部件之间来回切换。PanedWindowFramePanedWindow

  • 您可以选择在小组件中显示控点。句柄是 用户可以用鼠标拖动的小方块。

  • 您可以选择使窗框可见。腰带是放置在孩子之间的条形 部件。

  • 窗格是占用的区域 一个子小部件。

创建新小部件作为 名为 的根窗口或框架的子窗口或框架的子项:PanedWindowparent

   w = tk.PanedWindow(parent, option, ...)

此构造函数返回新小部件。以下是选项:PanedWindow

表 27.窗格窗口小部件选项

bgbackground显示在子项后面的背景色 部件;请参见第 5.3 节 “颜色”。
bdborderwidth外部边框的宽度 控件;请参见第 5.1 节 “尺寸”。这 默认值为两个像素。
cursor鼠标悬停时要显示的光标 小部件;请参见第 5.8 节 “游标”。
handlepad使用此选项可指定 手柄和腰带的末端。对于 ,这是距离 在窗扇的左端和手柄之间; 对于 ,它是 窗扇顶部与 处理。默认值为 5 像素;为 其他值,请参见第 1.<> 节 “维度”。orient=tk.VERTICALorient=tk.HORIZONTAL
handlesize使用此选项可指定句柄的大小, 它总是一个正方形;请参见第 5.1 节 “尺寸”。默认值为 八个像素。
height指定小部件的高度;请参见第 5.1 节 “尺寸”。如果未指定此项 选项,高度由高度决定 子小组件。
opaqueresize此选项控制调整大小操作的方式 工程。对于默认值,调整大小已完成 随着腰带的拖拽而连续。如果这个 选项设置为 、窗扇 (和相邻的子小部件)保持原位,直到 用户释放鼠标按钮,然后它跳跃 到新位置。opaqueresize=TrueFalse
orient要并排放置堆叠子构件,请使用 。将它们堆叠在顶部 底部,使用 .orient=tk.HORIZONTALorient=tk.VERTICAL
relief选择边框周围浮雕样式 控件;请参见第 5.6 节 “浮雕样式”。默认 是。tk.FLAT
sashpad使用此选项可在任一上分配额外空间 每条腰带的侧面。默认值为零;对于其他 值,请参见第 5.1 节 “维度”。
sashrelief此选项指定用于 渲染窗框;请参见第 5.6 节 “浮雕样式”。 默认样式为 。tk.FLAT
sashwidth指定窗扇的宽度;请参见第 5.1 节 “尺寸”。默认宽度为 <> 像素。
showhandle用于显示 处理。对于默认值,用户仍可以使用鼠标移动 窗扇。手柄只是一个视觉提示。showhandle=TrueFalse
width小部件的宽度;请参见第 5.1 节 “尺寸”。如果未指定值,则宽度将 由子小组件的大小决定。

要将子小部件添加到 , 将子构件创建为父小部件的子小部件,但不要使用该方法注册它们,而是使用 .PanedWindowPanedWindow.grid().add()PanedWindow

以下是小部件上的方法。PanedWindow

.add(child[, option=value] ...)

使用此方法将给定的小部件添加为下一个 这个孩子.第一 使用 作为其父小组件创建小组件,但不要调用该方法来注册它。然后打电话,孩子将出现在下一个可用位置。childPanedWindowchildPanedWindow.grid().add(child)PanedWindow

与每个子项关联的是一组配置 控制其位置和外观的选项。 请参见第 19.1 节 “PanedWindow 子配置 选项”。您可以提供 这些配置选项作为关键字参数 方法。您还可以设置 或随时使用该方法更改其值,或检索 使用该方法的任何这些选项的当前值;这些方法是 如下所述。.add().paneconfig().panecget()

.forget(child)

删除子小组件。

.identify(xy

对于窗口坐标中的给定位置,此方法返回 描述该位置的要素的值。(xy)

  • 如果功能是子窗口,则方法 返回一个空字符串。

  • 如果特征是分扇,则该方法返回 元组,其中第一个为 0 腰带,1 表示第二个,依此类推。(n, 'sash')n

  • 如果特征是句柄,则该方法返回 元组,其中第一个为 0 句柄,1 表示第二个,依此类推。(n, 'handle')n

.panecget(childoption)

此方法检索子小部件的值 配置选项,其中 是子小部件,是选项的名称作为 字符串。对于子小部件配置的列表 选项,请参见第 19.1 节 “PanedWindow 子配置 选项”。childoption

.paneconfig(childoption=value, ...)

使用此方法为子项配置选项 部件。第 19.1 节 “PanedWindow 子配置 ”中描述了这些选项。 选项”。

.panes()

此方法返回子小部件的列表,在 从左到右(对于)或从上到下(对于)的顺序。orient=tk.HORIZONTALorient=tk.VERTICAL

.remove(child)

删除给定的 ;这是相同的 操作作为方法。child.forget()

.sash_coord(index)

此方法返回窗扇的位置。参数选择腰带:0 表示 前两个孩子,一个为第二个之间的腰带 和第三个孩子,等等。结果是一个包含坐标的元组 腰带的左上角。index(xy)

.sash_place(indexxy)

使用此方法重新定位由 (0 对于第一个腰带,依此类推)。和坐标 指定左上角所需的新位置 腰带的一角。特金特忽略坐标 与微件的方向正交:使用值 以重新定位 的窗扇,并使用坐标 移动窗扇选项。indexxyxorient=tk.HORIZONTALyorient=tk.VERTICAL

9.1. 子配置 选项PanedWindow

        a 的每个子项都有一组 控制其位置和 外观。当孩子时,可以提供这些选项 与方法一起添加,或设置 使用方法,或查询 使用所描述的方法 以上。PanedWindow.add().paneconfig().panecget()

表 28.PanedWindow 子小部件选项

after通常,当你一个新的 子到一个,新的 子组件将添加到任何现有子小组件之后。 您可以改用该选项插入 新小部件位于现有小部件之后的位置 子小部件 ..add()PanedWindowafter=ww
before在调用方法时用作选项时,将新小部件放在 现有子小部件之前的位置。before=w.add()w
height此选项指定所需的高度 子小部件;请参见第 5.1 节 “尺寸”。
minsize使用此选项可指定 子构件在 的方向上。对于 ,这是最小值 宽度;对于 ,它是 最小高度。有关允许的值,请参见第 5.1 节 “尺寸”。PanedWindoworient=tk.HORIZONTALorient=tk.VERTICAL
padx要添加到左侧的额外空间量 和子小部件的右侧;请参见第 5.1 节 “尺寸”。
pady上面要添加的额外空间量和 在子小部件下方;请参见第 5.1 节 “尺寸”。
sticky此选项的功能类似于方法的参数;请参见第 4.1 节 “.grid() 方法”。它指定如何定位子小部件 如果窗格大于微件。为 示例,将位置 左上角的小部件 窗格的(“西北”)角。sticky.grid()sticky=tk.NW
width子小部件的所需宽度;请参见第 5.1 节 “尺寸”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/951968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI】数学基础——数理统计(概念参数估计)

概率论 文章目录 3.6 数理统计概念与定理3.6.1 概率论与数理统计区别3.6.2 基本定理大数定理马尔科夫不等式切比雪夫不等式中心极限定理 3.6.3 统计推断的基本问题 3.7 参数估计3.7.1 频率派点估计法矩阵估计法极大似然估计点估计量的评估 区间估计 3.7.2 贝叶斯派贝叶斯定理条…

26、ADS瞬时波形仿真-TRANSIENT仿真(以共射放大器为例)

26、ADS瞬时波形仿真-TRANSIENT仿真&#xff08;以共射放大器为例&#xff09; 在本科期间&#xff0c;学习模电的时候总是要对各种三极管电路进行MULTISIM仿真&#xff0c;其实ADS具备相同的功能&#xff0c;而且对于射频电路&#xff0c;使用ADS进行仿真可以结合版图进行&am…

SpringBoot初级开发--整体应用的统一性异常管理(7)

在整个系统中&#xff0c;通常会要求有统一性的异常抛出&#xff0c;统一的异常格式&#xff0c;统一的异常界面&#xff0c;而不是把整个堆栈错误信息抛出&#xff0c;这样对整个系统的安全性以及错误定位都非常不好&#xff0c;接下来我们紧接上一章的源码&#xff0c;加上统…

23.手风琴效果

效果 源码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS Only Accordion Design</title><link rel="stylesheet" href="style.css"> </head> <bod…

ChatGPT辅助编写自动化测试

大家好&#xff0c;我是洋子&#xff0c;ChatGPT已经越来越火爆&#xff0c;国内百度、阿里等互联网大厂也纷纷投入大模型研究&#xff0c;OpenAI官网中提供了许多ChatGPT应用场景&#xff0c;例如SQL翻译、语言翻译、代码解释等 作为一名QA&#xff0c;我更关注ChatGPT生成的…

【全面讲解】CPU缓存一致性:从理论到实战(上)

本文从 CPU、缓存、内存屏障、CAS到原子操作&#xff0c;再到无锁实践&#xff0c;逐一详细介绍。 01存储体系结构 速度快的存储硬件成本高、容量小&#xff0c;速度慢的成本低、容量大。为了权衡成本和速度&#xff0c;计算机存储分了很多层次&#xff0c;扬长避短&#xff…

动态主机配置协议 (DHCP):简化网络中IP地址分配的利器

文章目录 一、引言二、什么是DHCP&#xff1f;三、DHCP的工作原理IP地址分配流程解决多服务器冲突IP地址租约更新 四、DHCP中继代理五、相关命令 首先可以看下思维导图&#xff0c;以便更好的理解接下来的内容。 一、引言 在局域网中&#xff0c;手动配置静态IP地址不仅繁琐…

22.3D等距社交媒体菜单的悬停特效

效果 源码 <!doctype html> <html><head><meta charset="utf-8"><title>CSS Isometric Social Media Menu</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.…

ThinkPHP 集成 jwt 技术 token 验证

ThinkPHP 集成 jwt 技术 token 验证 一、思路流程二、安装 firebase/php-jwt三、封装token类四、创建中间件&#xff0c;检验Token校验时效性五、配置路由中间件六、写几个测试方法&#xff0c;通过postman去验证 一、思路流程 客户端使用用户名和密码请求登录服务端收到请求&…

Android-关于页面卡顿的排查工具与监测方案

作者&#xff1a;一碗清汤面 前言 关于卡顿这件事已经是老生常谈了&#xff0c;卡顿对于用户来说是敏感的&#xff0c;容易被用户直接感受到的。那么究其原因&#xff0c;卡顿该如何定义&#xff0c;对于卡顿的发生该如何排查问题&#xff0c;当线上用户卡顿时&#xff0c;在线…

Android Aidl跨进程通讯(二)--异常捕获处理

学更好的别人&#xff0c; 做更好的自己。 ——《微卡智享》 本文长度为1623字&#xff0c;预计阅读5分钟 前言 上一篇《Android Aidl跨进程通讯的简单使用》中介绍了跨进程的通讯处理&#xff0c;在进程间的数据通过Aidl实现了交互&#xff0c;项目中经常会遇到Bug&#xff0c…

charles证书失效解决方法

1. 先reset 2. 再下载&#xff08;即下载最新的证书&#xff09; 钥匙串中信任后即可正常使用

图像分割模型GUI应用:基于Tkinter和MMseg实现

简介 本篇博客介绍了一个使用Python的Tkinter库和MMseg图像分割库创建的图像分割模型GUI应用。该应用允许用户加载图像文件夹&#xff0c;浏览加载的图像&#xff0c;并对选定的图像执行分割推断&#xff0c;展示分割结果。这个应用演示了如何使用图形界面与深度学习模型结合&…

PageObject三层架构模式实现之数据驱动

接上一篇PageObject三层架构模式实现&#xff0c;发现我们的用户名和密码都是在代码中写死的&#xff0c;如果要测试不同用户名和密码的登录&#xff0c;那么每执行一次就要修改一次代码。这样效果非常不好。 因此本篇文章介绍如何实现数据驱动并且记录下每次操作的日志。 在…

SpringBoot - Google EventBus、AsyncEventBus

介绍 EventBus 顾名思义&#xff0c;事件总线&#xff0c;是一个轻量级的发布/订阅模式的应用模式&#xff0c;最初设计及应用源与 google guava 库。 相比于各种 MQ 中间件更加简洁、轻量&#xff0c;它可以在单体非分布式的小型应用模块内部使用&#xff08;即同一个JVM范围…

数字孪生智慧工厂:电缆厂 3D 可视化管控系统

近年来&#xff0c;我国各类器材制造业已经开始向数字化生产转型&#xff0c;使得生产流程变得更加精准高效。通过应用智能设备、物联网和大数据分析等技术&#xff0c;企业可以更好地监控生产线上的运行和质量情况&#xff0c;及时发现和解决问题&#xff0c;从而提高生产效率…

Vlan和Trunk

文章目录 一、VLAN的定义与背景1. 传统以太网的问题&#xff08;广播域&#xff09;2. 用VLAN隔离广播域3. VLAN的优点与应用 二、VLAN的转发过程举例三、802.1Q标签&#xff1a;帧格式与作用四、VLAN工作原理交换机端口类型AccessTrunkHybrid PVID&#xff08;Port VLAN ID&am…

十三、享元模式

一、什么是享元模式 享元&#xff08;Flyweight&#xff09;模式的定义&#xff1a;运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销&#xff0c;从而提高系统资源的利用率。 享元&#xff08;F…

C语言拷贝一个文件。

今天学习了如何用c语言拷贝一个文件&#xff0c;一个字符一个字符的拷贝一个文件&#xff0c;特此记录一下。 #include<stdio.h>int main() {FILE * pfr fopen("1.txt", "r"); //打开文件1.txt 用读的模式if (pfr NULL){return 1;}FILE* pfw fo…

1.RTKLIB环境配置和调试

1.源码下载 下载链接&#xff1a;rtklib 注&#xff1a;2.4.2 p13为稳定版本&#xff08;标识p代表稳定版本&#xff09;&#xff0c;2.4.3 b34为最新实验版本&#xff08;标识b&#xff09;。点击2.4.3 b34 的Source Programs and Data 链接下载源码。 2.环境配置 **集成…