Chapter 13. Miscellaneous PerlTk Methods  PerlTk 方法杂项:

到目前为止,这本书的大部分章节 集中在特定的几个部件, 这个章节覆盖了方法和子程序 可以被任何部件调用。

你可能从来不需要那些方法, 但有一些 你会经常使用,特别是配置和cget:

大多数方法是基于Tcl winfo 命令( 窗口信息).

一般来说, 命令只是信息,

意思是你没有传入参数给它们, 你只是拿回一个值。

本章 也记录剪贴板和选择的方法用于剪切和粘贴操作 在应用之间,

关注和获取方法,和一些深奥的东西。

13.1. Managing Widgets with configure and cget   管理部件使用  configure and cget

每个部件包含在Perl/Tk 发布版本, 以及所有用户贡献的部件,

可以使用配置和get 方法, set,change,和查询部件熟悉。

无论什么部件, 那些函数参数的格式是相同的, 传回结果具有相同的格式。

配置方法允许你指定或者改变 部件选项的值, 它可以用于检索选择的当前值。

cget  方法不能复制 但是用简单的语法检索相比配置:

13.1.1. The configure Method  配置方法:

$widget->configure( [ option => newvalue, ... ] );

依赖参数传递给它,  配置方法可以做三件事:

1.设置或者改变部件选项的值

2.得到部件任何选项当前的值

3.得到部件当前所有选择的值

设置或者改变一个选项的值,发送选项对

$widget->configure(-option => newvalue);

无论 选项的效果会立即生效,查看一个单独选项当前值,

把它作为参数发送。

返回的值 依赖 是否配置被调用在列表上下文 或者文本上下文。

第2行,配置是被调用在列表上下文( 因为它的返回值是被分配给了一个数组)

@info = $widget->configure(-highlightthickness);

在一个列表环境, 标量的数组被返回:

13.2. Building a Family Tree  创建一个Family 树:

下面的方法处理祖宗和孩子 ,他们如何被创建:

children, name, PathName, parent, toplevel, manager, and class.

那些方法 返回一个部件的引用或者一个字符串,一个字符串是 一个部件的Tcl-like 名字。

Tcl使用字符串路径名到引用部件,   使用句号作为路径分隔.

在Tcl里,主窗口总是".".   从那时起,程序的工作命名部件 反映了应用的部件层次结构。

所以, .frame 可能引用到第一个Frame 部件创建作为MainWindow的一个child.

.frame1 可能指向第2个。程序可能调用第一个按钮 在第一个Frame一样。

.frame.quit_button,这是完全限定路径名字。

Perl/Tk程序员, 我们很少明确指定一个路径名字给我们的部件,

但是pTk代表我们这样做, 现在你知道发生了什么当你看到字符路径名字。

13.10. Widget Position 部件的位置:

本节中的方法处理一个部件的位置:

13.10.1  位置相对于Root窗口:

以确定哪些部件在point(x,y), 使用包含的方法:

$which = $widget->containing($x, $y);

The $x and $y coordinates must be relative to the root window (or on a Microsoft Windows system, the desktop). An empty string is returned if there is no widget found at those coordinates. If there 

are several widgets located at those coordinates, the one closest to the front is returned.

$x 和$y 协调必须是相对于root窗口(或者 在一个Microsoft Windows system,桌面)

一个空的字符串被返回 如果这里没有部件被找到在,

13.10.2. Coordinates Relative to the Parent  坐标相对于Parent:

你可以得到左上角的坐标通过使用x和y 方法,他们的坐标 ,他们返回一个坐标 相对于 父部件:

$x = $widget->x;
$y = $widget->y; 13.10.3 坐标相对于 Root窗口: 得到相对于root窗口的坐标,使用rootx 和rooty : $x = $widget->rootx;
$y = $widget->rooty; 坐标指的是左上角的小部件: 13.10.4. Virtual Desktop Coordinates

Chapter 13. Miscellaneous PerlTk Methods PerlTk 方法杂项:的更多相关文章

  1. Think Python - Chapter 17 - Classes and methods

    17.1 Object-oriented featuresPython is an object-oriented programming language, which means that it ...

  2. 【概率论】1-3:组合(Combinatorial Methods)

    title: [概率论]1-3:组合(Combinatorial Methods) categories: Mathematic Probability keywords: Combination 组 ...

  3. MySQL-5.6.13免安装版配置方法

    MySQL-5.6.13免安装版配置方法   1. 下载MySQL Community Server 5.6.13 2. 解压MySQL压缩包    将以下载的MySQL压缩包解压到自定义目录下,我的 ...

  4. Effective Java 第三版——13. 谨慎地重写 clone 方法

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  5. OSError:[Errno 13] Permission denied:'my_library' 问题解决方法

    出现问题: 执行 rosrun rosserial_windows make_libraries.py my_library 命令时出现OSError:[Errno 13] Permission de ...

  6. 零元学Expression Blend 4 - Chapter 13 用实例了解布局容器系列-「Pathlistbox」I

    原文:零元学Expression Blend 4 - Chapter 13 用实例了解布局容器系列-「Pathlistbox」I 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局 ...

  7. macOS 10.13允许任何来源开启方法

    软件下载网站: http://www.pc6.com/ 软件安装问题: macOS 10.13允许任何来源开启方法: 如果需要恢复允许“任何来源”的选项,即关闭系统的Gatekeeper,我们可以在“ ...

  8. Java系列,《Java核心技术 卷1》,chapter 13,集合

    13.1.2 Java类库中的集合接口和迭代器接口     删除元素,对于next和remove的调用是互相依赖的,如果调用remove之前没有调用next,则会跑出IllegalStateExcep ...

  9. ubuntu 13.04 root权限设置方法详解

    很多朋友安装升级Ubuntu 13.04之后不知道ubuntu 13.04 root权限设置的具体方法,今天这篇文章就将为大家详细介绍设置root权限的步骤,新手朋友可以来看一看哦~ Ubunto 1 ...

随机推荐

  1. eMMC的MMC模式与SPI模式

    MMC存贮卡可以分为MMC和SPI两种工作模式,MMC模式是标准的默认模式,具有MMC的全部特性.而SPI模式则是MMC存贮卡可选的第二种模式,这个模式是MMC协议的一个子集,主要用于只需要小数量的卡 ...

  2. 分布式文件系统 Mogilefs 安装步骤

    我这里的环境都是 RHEL 5 的环境. MySQL 数据库 和 tracker 都放到一台服务器上, 为 192.168.2.85 storage server两台, 分别为 192.168.2.9 ...

  3. jQuery中的选择器《思维导图》

    学习jQuery的课程中,我对jQuery中的选择器有了更深的认识,它的简洁写法,完美的兼容性,可靠的处理机制,都让我们省了很多事, 下面是我在学习过程中对jQuery选择器写的思维导图(全屏查看:& ...

  4. 2015第10周三jquery ui position

    jQuery UI API - .position() 所属类别 方法重载(Method Overrides) | 方法(Methods) | 实用工具(Utilities) 用法 描述:相对另一个元 ...

  5. 一 VC2008环境中ICE的配置

    VC2008环境中ICE的配置 ICE 3.4.0的下载页面 http://www.zeroc.com/download_3_4_0.html 环境变量配置  1.Ice-3.4.0安装到c:\Ice ...

  6. Count Primes 解答

    Question Count the number of prime numbers less than a non-negative number, n. Solution 1 Naive way, ...

  7. openstack configure

    <一,nova.conf配置文件配置 hypervisors compute_driver = 值> 1,kvm/qemu Hypervisor OpenStack nova comput ...

  8. Akka边学边写(2)-- Echo Server

    EchoServer 上篇文章里,我们用Akka写了一个简单的HelloWorld样例,对Akka(以及Actor模式)有了初步的认识.本文将用Akka写一个EchoServer,看看在Actor的世 ...

  9. stagefright框架(四)-Video Buffer传输流程

    這篇文章將介紹Stagefright中是如何和OMX video decoder传送buffer. (1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder,並且 ...

  10. Android服务之AIDL

    在android开发过程中,为了让其他的应用程序,也可以访问本应用程序的服务,android系统采用远程过程调用来实现.android通过接口来公开定义的服务.我们将能够夸进程访问的服务成为AIDL服 ...