Python:覆盖第三方模块(Tkinter)的方法?

时间:2015-01-12 12:28:24

标签: python tkinter python-module

在Tkinter中,我们从模块tkSimpleDialog获得的功能很少。

from Tkinter import  *
import tkSimpleDialog

def t():
    root = Tk()
    f = tkSimpleDialog.askinteger("Add New User","Enter card Number")
    print f;
    mainloop()
t()

以上代码片段提示输入。我需要编写自己的函数进行错误处理(当用户单击OK并且不输入任何内容或无效输入时)和其他一些属性,如调整大小,高度,宽度等等对话框。

如何覆盖功能,例如好吗?

1 个答案:

答案 0 :(得分:2)

您可以创建自己的继承自tkSimpleDialog的对话框类。这样你就可以覆盖任何类的核心方法。经典的OOP和救援的延伸。

请查看此文档以获取教程:http://effbot.org/tkinterbook/tkinter-dialog-windows.htm

另一个:http://effbot.org/tkinterbook/tkinter-entry-dialogs.htm

您可以查看tkSimpleDialog.py源以查看可用的类方法,并查看可以扩展的方法。更快捷的方法是在导入后执行dir(tkSimpleDialog),以查看其所有方法,属性和类。

永远记住,如果某个类是某个类,就有机会将它扩展到您自己的类中!

一切顺利。