对网站开发的理解500字,网站建设公司的小程序选择什么,wordpress首页模板编辑,潍坊网站建设联系方式说明 此处讨论小部件方法#xff0c;凡是可以产生动作的函数均列在此处。包括#xff1a;定时器、闲暇、绑定、属性配置、布局管理等#xff0c;属于高级编程的必备知识。了解通用小部件方法#xff0c;对于客户定制公共类库有极大助益#xff0c;请务必掌握。 26 通用小部… 说明 此处讨论小部件方法凡是可以产生动作的函数均列在此处。包括定时器、闲暇、绑定、属性配置、布局管理等属于高级编程的必备知识。了解通用小部件方法对于客户定制公共类库有极大助益请务必掌握。 26 通用小部件方法 26.1 定时器 下面在所有小部件上定义了这些方法。在描述中w可以是任何类型的任何小部件。 w.after(delay_ms, callbackNone, *args) 请求Tkinter在延迟至少几毫秒后调用callback带参数的函数 。实际花费的时间没有上限但是您的回调不会比您请求的时间更早被调用并且只会被调用一次。 argsdelay_ms .after_cancel()此方法返回一个“标识符后”的整数如果您想取消回调 可以将该整数传递给该方法。 如果不传递callback 参数此方法将等待delay_ms 几毫秒就像标准 Python模块.sleep() 的函数一样。 time w.after_cancel(id) 取消先前设置的回调请求.after()。参数id是原始调用返回的结果 .after()。 w.after_idle(func, *args) 请求Tkinter在下次系统空闲时即下次没有要处理的事件时调用func带有参数的函数。args回调只会被调用一次。如果您希望再次调用回调则必须.after_idle再次调用该方法。 w.bell() 发出声音通常是蜂鸣声。 26.2 绑定 w.bind(sequenceNone, funcNone, addNone) 此方法用于将事件绑定附加到小部件。有关事件绑定的概述 请参阅第 54 节“事件” 。 该sequence参数描述了我们期望的事件并且该 func 参数是当该事件发生在小部件上时要调用的函数。如果该小部件已经有该事件的绑定通常旧的回调会被替换为func但您可以通过传递 来保留这两个回调add。 w.bind_all(sequenceNone, funcNone, addNone) 与 类似.bind()但适用于整个应用程序中的所有小部件。 w.bind_class(className, sequenceNone, funcNone, addNone) 与 类似.bind()但适用于所有名为className例如 Button的小部件。 w.bindtags(tagListNone) 如果调用此方法它将以字符串序列的形式返回小部件的“绑定标签”。绑定标签是窗口的名称以 开头.或类的名称例如Listbox。 您可以通过将您希望小部件使用的绑定标记序列作为参数传递来更改调用绑定级别的顺序。 有关绑定级别及其与标签的关系的讨论 请参阅第 54 节“事件” 。 26.4 属性值的字符串缓存 w.cget(option) option以字符串形式 返回 的当前值。您还可以获取小部件的选项值w如。 w[option] w.clipboard_append(text) 将给定text字符串附加到显示器的剪贴板其中存储了该显示器的所有应用程序的剪切和粘贴字符串。 w.clipboard_clear() 清除显示器的剪贴板见.clipboard_append()上文。 w.column_configure() 请参见第 4.2 节“其他网格管理方法”。 w.config(optionvalue, ...) 与...一样.configure()。 w.configure(optionvalue, ...) 设置一个或多个选项的值。class对于名称为 Python 保留字 ( , from, )的选项in请使用尾随下划线 class_, from_, in_。 w您还可以使用以下语句 设置小部件的选项值 w[ option] value 如果您.config()在不带参数的情况下调用小部件上的方法您将获得所有小部件当前选项的字典。键是选项名称包括bdfor等别名borderwidth。每个键的值是 采取五元组对于大多数条目选项名称、选项数据库密钥、选项数据库类、默认值、当前值或者 一个二元组对于别名例如fg 别名 等效标准名称。 26.5 关于事件 w.destroy() 调用w.destroy()一个小部件 w会销毁w它及其所有子部件。 w.event_add(virtual, *sequences) 此方法创建一个虚拟事件其名称由字符串参数给出virtual。每个附加参数描述一个 序列即物理事件的描述。当该事件发生时将触发新的虚拟事件。 有关虚拟事件的一般描述 请参阅第 54 节“事件” 。 w.event_delete(virtual, *sequences) 从名称由字符串指定的虚拟事件中删除物理事件virtual。如果从给定的虚拟事件中删除所有物理事件则该虚拟事件将不再发生。 w.event_generate(sequence, **kw) 此方法无需任何外部刺激即可触发事件。事件的处理与外部刺激触发的事件相同。参数sequence描述要触发的事件。Event您可以通过提供参数来设置对象中选定字段的值其中指定对象中字段的名称 。 keywordvaluekeywordEvent 有关事件的完整讨论 请参阅第 54 节“事件” 。 w.event_info(virtualNone) 如果您不带参数调用此方法您将返回所有当前定义的虚拟事件名称的序列。 要检索与虚拟事件关联的物理事件请将此虚拟事件的名称传递给此方法您将返回物理名称的序列sequence或者None如果给定的虚拟事件从未定义过。 26.6 关于焦点 w.focus_displayof() 返回当前在与小部件相同的显示器上具有输入焦点的窗口的名称。如果没有这样的窗口具有输入焦点则返回None。 有关输入焦点的一般描述 请参阅第 53 节“焦点路由键盘输入” 。 w.focus_force() 强制将输入焦点置于小部件上。这是不礼貌的。最好等待窗口管理器为您提供焦点。另请参阅.grab_set_global()下文。 w.focus_get() 返回在此应用程序中具有焦点的小部件如果有否则返回None。 w.focus_lastfor() 此方法检索在包含 的顶级窗口中最后获得输入焦点的小部件的名称w。如果该顶级小部件都没有获得过输入焦点则它返回顶级小部件的名称。如果此应用程序没有输入焦点.focus_lastfor()则将返回下次返回此应用程序时将获得焦点的小部件的名称。 w.focus_set() 如果w的应用程序具有输入焦点则焦点将跳转到w。如果w的应用程序没有焦点Tk 会记住将其交给w下一个获得焦点的应用程序。 w.grab_current() w如果的显示 有效则返回其标识符否则返回None。有关抢夺的讨论 请参阅第 54 节“事件” 。 w.grab_release() 如果w有有效的抓握请将其释放。 w.grab_set() 小部件抓取的应用程序w的所有事件。w如果有另一次强力的抓握它就会消失。有关抢夺的讨论 请参阅第 54 节“事件” 。 w.grab_set_global() 小部件w抓取整个屏幕的所有事件。这被认为是不礼貌的只有在非常需要的时候才应该使用。任何其他有效的抓取都会消失。尝试只将这种可怕的力量用于正义的力量而不是邪恶的力量好吗 w.grab_status() 如果存在有效的本地抓取由 设定.grab_set()则此方法返回字符串 local。如果存在有效的全局抓取来自.grab_set_global()则返回global。如果没有强制抓取则返回None。 26.4 停靠位置 w.grid_forget() 请参见第 4.2 节“其他网格管理方法”。 w.grid_propagate() 请参见第 4.2 节“其他网格管理方法”。 w.grid_remove() 请参见第 4.2 节“其他网格管理方法”。 w.image_names() w以字符串序列的形式 返回 的应用程序中所有图像的名称。 w.keys() 以字符串序列的形式返回小部件的选项名称。 w.lift(aboveThisNone) 如果参数为None则包含的窗口w将移动到窗口堆叠顺序的顶部。要将窗口移动到某个 Toplevelwindow 的上方w请w作为参数传递。 w.lower(belowThisNone) 如果参数为None则包含的窗口w将移动到窗口堆叠顺序的底部。要将窗口移动到某个 Toplevelwindow 的正下方w请w作为参数传递。 w.mainloop() 通常必须在创建所有静态小部件之后调用此方法才能开始处理事件。您可以使用方法如下离开主循环.quit()。您还可以在事件处理程序中调用此方法来恢复主循环。 w.nametowidget(name) 此方法返回路径名为 的实际小部件name。请参见第 5.11 节“窗口名称”。如果name未知此方法将引发KeyError。 26.5 窗口参数选项 w.option_add(pattern, value, priorityNone) 此方法将默认选项值添加到Tkinter 选项数据库。是pattern一个字符串指定value一个或多个小部件的选项的默认值。这些priority值为以下之一 20对于小部件的全局默认属性。40对于特定应用程序的默认属性。60对于来自用户文件例如他们的.Xdefaults文件的选项。80对于应用程序启动后设置的选项。这是默认优先级。 较高级别的优先级优先于较低级别的优先级。有关选项数据库的概述请参见第 27 节“外观标准化” 。pattern参数的语法与 资源规范行的部分 .option_add()相同 。option-pattern 例如要获得此资源规范行的效果 *Button*font: times 24 bold 您的应用程序self在本例中可能包含以下几行 self.bigFont tkFont.Font(familytimes, size24,weightbold)self.option_add(*Button*font, self.bigFont) 执行这些行后创建的任何Button小部件都将默认为粗体 Times 24 字体除非被构造函数font 的选项覆盖Button。 w.option_clear() 此方法从Tkinter选项数据库 中删除所有选项 。这具有返回到所有默认值的效果。 w.option_get(name, classname) 使用此方法从Tkinter选项数据库 检索选项的当前值。第一个参数是实例键第二个参数是类键。如果有任何匹配项它将返回最匹配的选项的值。如果没有匹配项则返回。 有关按键如何与选项匹配的更多信息 请参阅第 27 节“标准化外观” 。 w.option_readfile(fileName, priorityNone) 为了方便用户配置您可以指定一个命名文件用户可以在其中放置自己的首选选项并使用与该 .Xdefaults文件相同的格式。然后当您的应用程序初始化时您可以将该文件的名称传递给此方法并且该文件中的选项将被添加到数据库中。如果文件不存在或其格式无效此方法将引发tk.TclError. 有关选项数据库和选项文件格式的介绍 请参阅第 27 节“标准化外观” 。 w.register(function) 此方法围绕 Python 创建 Tcl 包装器 function并以字符串形式返回 Tcl 包装器名称。有关此方法的使用示例请参阅第 10.2 节“向Entry 小部件添加验证”。 w.quit() 该方法退出主循环。.mainloop()有关主循环的讨论 请参见上面的内容。 w.rowconfigure() 请参见第 4.2 节“其他网格管理方法”。 w.selection_clear() 如果w当前有一个选择例如条目小部件中突出显示的文本段请清除该选择。 w.selection_get() 如果w当前有一个选择此方法将返回选定的文本。如果没有选择则会引发tk.TclError。 w.selection_own() 使的显示w中的选择成为所有者w从之前的所有者如果有那里窃取它。 w.selection_own_get() w返回当前拥有显示 中的选择的小部件 。tk.TclError如果没有这样的选择则 引发。 w.tk_focusFollowsMouse() 通常输入焦点在一系列小部件之间循环这些小部件由它们的层次结构和创建顺序确定请参见第 53 节“焦点路由键盘输入”。相反您可以告诉Tkinter将焦点强制置于鼠标所在的位置只需调用这个方法即可。然而没有简单的方法可以撤销它。 w.tk_focusNext() w返回焦点遍历序列中 紧随其后的小部件。有关焦点遍历的讨论 请参阅第 53 节“焦点路由键盘输入” 。 w.tk_focusPrev() w返回焦点遍历序列中 位于前面的小部件。 w.unbind(sequence, funcidNone) w此方法删除所描述的事件的 绑定sequence。如果第二个参数是绑定到该序列的回调则该回调将被删除其余部分如果有保留在原处。如果省略第二个参数则删除所有绑定。 有关事件绑定的一般讨论 请参阅下面第 54 节“事件” 。 w.unbind_all(sequence) 删除整个应用程序中给定 描述的事件的所有事件绑定sequence。 w.unbind_class(className, sequence) 与 类似.unbind()但适用于所有名为className例如 Entry或Listbox的小部件。 w.update() 此方法强制更新显示。仅当您知道自己在做什么时才应使用它因为它可能会导致不可预测的行为或循环。永远不应该从事件回调或从事件回调调用的函数中调用它。 w.update_idletasks() 更新显示中的一些任务例如调整大小和重绘小部件称为空闲任务因为它们通常被推迟到应用程序完成处理事件并返回主循环以等待新事件为止。 如果您想在应用程序下一次空闲之前强制更新显示请w.update_idletasks()在任何小部件上调用该方法。 w.wait_variable(v) 等待直到变量的值v被设置即使该值没有改变。此方法进入本地等待循环因此它不会阻塞应用程序的其余部分。 w.wait_visibility(w) 等待小部件w通常为Toplevel可见。 w.wait_window(w) 等到窗口w被破坏。 w.winfo_children() 返回所有子级的列表w按照从最低底部到最高顶部的堆叠顺序。 w.winfo_class() 返回w的类名例如Button。 w.winfo_containing(rootX, rootY, displayof0) 该方法用于查找包含点( rootX, rootY) 的窗口。如果该displayof选项为 false则坐标相对于应用程序的根窗口如果为 true则坐标被视为相对于包含 的顶级窗口w。如果指定点位于应用程序的顶级窗口之一则此方法返回该窗口否则返回None。 w.winfo_depth() w返回的显示 中每个像素的位数。 w.winfo_fpixels(number) 对于任何尺寸number请参阅第 5.1 节“尺寸”此方法返回 显示器上的距离以像素为单位w作为 类型的数字float。 w.winfo_geometry() 返回描述 的大小和屏幕位置的几何字符串w。请参见第 5.10 节“几何字符串”。 警告 在应用程序更新其空闲任务之前几何图形并不准确。特别是所有几何图形最初都是 1x100直到小部件和几何管理器协商好它们的大小和位置为止。请参阅 .update_idletasks()本节中上面的方法了解如何确保小部件的几何形状是最新的。 w.winfo_height() 返回当前高度以w像素为单位。请参阅上面关于几何更新的备注.winfo_geometry()。您可能更喜欢使用.winfo_reqheight()如下所述它始终是最新的。 w.winfo_id() w 返回一个在其顶级窗口内 唯一标识的整数。您将需要.winfo_pathname()在下面的方法中使用它。 w.winfo_ismapped() w如果已映射 此方法返回 true 否则返回 false。如果一个小部件已经被网格化或者放置或打包如果您正在使用其他几何管理器之一到其父级并且如果其父级被映射等等直到顶级窗口则该小部件被映射。 w.winfo_manager() 如果w尚未网格化或通过其他几何管理器之一放置则此方法返回一个空字符串。如果w已进行网格化或以其他方式放置它将返回一个命名几何管理器的字符串w该值将为grid、pack、place、canvas或之一text。 w.winfo_name() 此方法返回w相对于其父级的名称。请参见第 5.11 节“窗口名称”。另请参阅.winfo_pathname()下面的 了解如何获取小部件的路径名。 w.winfo_parent() 返回的父窗口的路径名如果是顶级窗口w则返回空字符串。w有关小部件路径名称的更多信息请参阅上面 第 5.11 节“窗口名称” 。 w.winfo_pathname(id, displayof0) 如果参数为 false则返回应用程序主窗口中displayof 具有唯一标识符的小部件的窗口路径名称。id如果displayof为 true则该id数字指定与 位于同一顶级窗口中的小部件w。 有关小部件路径名称的讨论 请参见第 5.11 节“窗口名称” 。 w.winfo_pixels(number) 对于任何尺寸请参阅上面的尺寸此方法以整数形式返回显示屏 number上的距离以像素为单位。w w.winfo_pointerx() x返回与返回的坐标 相同的值.winfo_pointerxy()。 w.winfo_pointerxy() 返回一个元组其中包含鼠标指针相对于的根窗口的坐标。如果鼠标指针不在同一屏幕上则返回。 (x, y)w(-1, -1) w.winfo_pointery() y返回与返回的坐标 相同的值.winfo_pointerxy()。 w.winfo_reqheight() 这些方法返回请求的 widget 高度 w。这是必要的最小高度以便所有w内容都有所需的空间。由于与几何经理协商实际高度可能会有所不同。 w.winfo_reqwidth() 返回请求的 widget 宽度w即包含所需的最小宽度w。与 一样 .winfo_reqheight()由于与几何管理器的协商实际宽度可能会有所不同。 w.winfo_rgb(color) 对于任何给定的颜色此方法返回等效的红-绿-蓝颜色规范作为 3 元组其中每个数字都是 [0, 65536) 范围内的整数。例如如果is 则此方法返回 3-tuple 。 (r, g, b)colorgreen(0, 65535, 0) 有关指定颜色的更多信息请参阅第 5.3 节“颜色”。 w.winfo_rootx() 返回的根窗口x左侧相对于的父窗口的坐标。 ww 如果w有边框则这是边框的外边缘。 w.winfo_rooty() 返回的根窗口y顶边相对于的父窗口的坐标。 ww 如果w有边框则这是边框的上边缘。 w.winfo_screenheight() 返回屏幕的高度以像素为单位。 w.winfo_screenmmheight() 返回屏幕的高度以毫米为单位。 w.winfo_screenmmwidth() 返回屏幕的宽度以毫米为单位。 w.winfo_screenvisual() 返回描述显示器色彩再现方法的字符串。这通常truecolor适用于 16 位或 24 位显示器、 pseudocolor256 色显示器。 w.winfo_screenwidth() 返回屏幕的宽度以像素为单位。 w.winfo_toplevel() 返回包含 的顶级窗口w。该窗口支持小部件上的所有方法Toplevel请参见第 25 节“ Toplevel顶级窗口方法”。 w.winfo_viewable() 如果谓词可见即如果它及其所有祖先都被映射 则返回一个True值。wToplevel w.winfo_width() 返回当前宽度以w像素为单位。请参阅上面关于几何更新的备注.winfo_geometry()。您可能更喜欢使用.winfo_reqwidth()上述方法它始终是最新的。 w.winfo_x() 返回相对于其父级x的左侧坐标。w如果w有边框则这是边框的外边缘。 w.winfo_y() 返回相对于其父级y的顶边的坐标。w如果w有边框则这是边框的外边缘。