非常教程

Python参考手册

Mac OS

FrameWork

FrameWork模块包含一起为交互式Macintosh应用程序提供框架的类。程序员通过创建覆盖基类的各种方法的子类来构建应用程序,从而实现所需的功能。覆盖功能通常可以在各种不同的层次上完成,即以非标准方式处理单个对话框窗口中的点击,不需要覆盖整个事件处理。

注意

此模块已在Python 3.x中删除。

在FrameWork上工作几乎停止了,现在PyObjC可用于Python的完整Cocoa访问,文档只描述最重要的功能,而不是以最合乎逻辑的方式。 检查来源或例子的更多细节。 以下是MacPython新闻组发布的关于FrameWork的优势和局限性的一些评论:

FrameWork的优点是它可以让你在很多不同的地方进入控制流程。 例如,W使用不同的方式来启用/禁用菜单,并且插入正确的部分以保持其余的完整。 FrameWork的弱点在于它没有抽象的命令接口(但这应该不难),它的对话支持是最小的,并且它的控制/工具栏支持是不存在的。

FrameWork模块定义了以下功能:

FrameWork.Application()

代表完整应用程序的对象。请参阅下面的方法说明。默认__init__()例程创建一个空的窗口词典和一个带有苹果菜单的菜单栏。

FrameWork.MenuBar()

表示菜单栏的对象。这个对象通常不是由用户创建的。

FrameWork.Menu(bar, title[, after])

代表菜单的对象。在创建您通过MenuBar在菜单中出现的标题字符串和位置(从1开始)后,应该在哪里出现在菜单(默认:年底)。

FrameWork.MenuItem(menu, title[, shortcut, callback])

创建一个菜单项目对象。参数是要创建的菜单,项目标题字符串以及可选的键盘快捷键和回调例程。使用参数menu-id,菜单中的项目编号(基于1),当前前窗和事件记录来调用回调。

回调也可以是一个字符串,而不是可调用对象。在这种情况下,菜单选择会导致在最上面的窗口和应用程序中查找方法。方法名称是带'domenu_'前置的回调字符串。

调用该MenuBar fixmenudimstate()方法可以根据当前前窗设置所有菜单项的正确调光。

FrameWork.Separator(menu)

在菜单的末尾添加一个分隔符。

FrameWork.SubMenu(menu, label)

在菜单菜单下创建一个名为label的子菜单。菜单对象被返回。

FrameWork.Window(parent)

创建(无模式)窗口。Parent是窗口所属的应用程序对象。该窗口在稍后才显示。

FrameWork.DialogWindow(parent)

创建一个无模式的对话窗口。

FrameWork.windowbounds(width, height)

返回(left, top, right, bottom)适合创建给定宽度和高度的窗口的元组。该窗口将相对于之前的窗口错开,并尝试将整个窗口保持在屏幕上。但是,该窗口将始终是给定的确切尺寸,因此零件可能不在屏幕上。

FrameWork.setwatchcursor()

将鼠标光标设置为手表。

FrameWork.setarrowcursor()

将鼠标光标设置为箭头。

1.应用程序对象

应用程序对象具有以下方法:

Application.makeusermenus()

如果您的应用程序需要菜单,请覆盖此方法。将菜单追加到属性menubar

Application.getabouttext()

重写此方法以返回描述应用程序的文本字符串。或者,也可以覆盖do_about()更详细的“关于”消息的方法。

Application.mainloop([mask[, wait]])

这个例程是主要的事件循环,将其称为设置应用程序的滚动。Mask是你想要处理的事件的面具,wait是你想要留给其他并发应用程序的滴答的数量(默认为0,这可能不是一个好主意)。虽然提升自我以退出主循环仍然受到支持,但不建议:请拨打电话self._quit()

事件循环分成许多小部分,每个部分都可以被覆盖。默认方法负责将事件分派到窗口和对话框,处理拖动和调整大小,Apple事件,非FrameWork窗口的事件等。

通常,如果事件已完全处理,则所有事件处理程序应返回1,否则返回0(例如,因为前窗不是FrameWork窗口)。 这是必需的,以便更新事件等可以传递到其他窗口,如Sioux控制台窗口。 在our_dispatch或其调用者中不允许调用MacOS.HandleEvent(),因为如果通过Python内部循环事件处理程序调用代码,则可能导致无限循环。

Application.asyncevents(onoff)

使用非零参数调用此方法以启用异步事件处理。这将告诉内部解释器循环在事件可用时调用应用程序事件处理程序async_dispatch。这将导致FrameWork窗口更新和用户界面在长时间计算期间保持工作状态,但会降低解释器的速度,并可能导致非重入代码(如FrameWork本身)出现令人惊讶的结果。默认情况下,async_dispatch 将立即调用our_dispatch,但您可以重写此参数以仅异步处理某些事件。你不处理的事件将被传递给Sioux等。

旧的开/关值被返回。

Application._quit()

在下一个方便的时刻终止正在运行的mainloop()调用。

Application.do_char(c, event)

用户输入字符c。事件的完整细节可以在事件结构中找到。此方法也可以在Window对象中提供,如果窗口位于最前面,则该对象将覆盖应用程序范围的处理程序。

Application.do_dialogevent(event)

在事件循环中早期调用以处理无模式对话事件。默认方法只是将事件分派到相关对话框(而不是通过DialogWindow涉及的对象)。如果需要特殊处理对话事件(键盘快捷键等),则覆盖。

Application.idle(event)

当没有事件可用时,由主事件循环调用。传递null事件(所以你可以看看鼠标的位置等)。

2.窗口对象

窗口对象有以下几种方法:

Window.open()

重写此方法以打开一个窗口。将Mac OS窗口标识存储self.wid并调用该do_postopen()方法以向父应用程序注册该窗口。

Window.close()

重写此方法以在窗口关闭时执行任何特殊处理。调用该do_postclose()方法来清除父状态。

Window.do_postresize(width, height, macoswindowid)

调整窗口大小后调用。 如果需要执行更多操作,则比调用InvalRect重写。

Window.do_contentclick(local, modifiers, event)

用户点击了窗口的内容部分。参数是坐标(窗口相对),关键修饰符和原始事件。

Window.do_update(macoswindowid, event)

收到窗口的更新事件。重新绘制窗口。

Window.do_activate(activate, event)

该窗口已激活(activate == 1)或停用(activate == 0)。处理焦点突出显示等内容

3. ControlsWindow对象

ControlsWindow对象除了这些Window对象外还有以下方法:

ControlsWindow.do_controlhit(window, control, pcode, event)

部分P码控制的控制被用户打。跟踪等已经被照顾。

4. ScrolledWindow对象

ScrolledWindow对象是具有以下额外方法的ControlsWindow对象:

ScrolledWindow.scrollbars([wantx[, wanty]])

创建(或销毁)水平和垂直滚动条。参数指定您想要的(默认值:两者)。滚动条总是有最小值0和最大值32767

ScrolledWindow.getscrollbarvalues()

您必须提供此方法。 它应该返回一个给出滚动条当前位置的元组(x,y)(介于0和32767之间)。 您可以返回None来指示整个文档在该方向上可见。

ScrolledWindow.updatescrollbars()

文档更改时调用此方法。它会调用getscrollbarvalues()并更新滚动条。

ScrolledWindow.scrollbar_callback(which, what, value)

由用户提供并在用户交互后调用。 这将是'x'或'y',什么是' - ',' - ','set','++'或'+'。 对于“设置”,值将包含新的滚动条位置。

ScrolledWindow.scalebarvalues(absmin, absmax, curmin, curmax)

辅助方法可帮助您计算要返回的值getscrollbarvalues()。您传递文档的最小值和最大值以及最顶端(最左边)和最底端(最右边)的可见值,并返回正确的数字或None

ScrolledWindow.do_activate(onoff, event)

当窗口变成最前面时,照顾调暗/突出显示滚动条。如果您重写此方法,请在方法结束时调用此方法。

ScrolledWindow.do_postresize(width, height, window)

将滚动条移动到正确的位置。如果您覆盖它,最初调用此方法。

ScrolledWindow.do_controlhit(window, control, pcode, event)

处理滚动条交互。如果你重写它,首先调用这个方法,一个非零的返回值表明命中在滚动条中并且已经被处理。

5. DialogWindow对象

除了那些Window对象之外,DialogWindow对象还具有以下方法:

DialogWindow.open(resid)

创建对话窗口,与ID的DLOG资源渣油。对话框对象存储在中self.wid

DialogWindow.do_itemhit(item, event)

项目编号item 被击中。您有责任重新绘制切换按钮等。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法