2015-01-12 3 views
1

В Tkinter у нас есть несколько функций из модуля tkSimpleDialog.Python: переопределение метода из стороннего модуля (Tkinter)?

from Tkinter import * 
import tkSimpleDialog 

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

выше фрагмент кода приглашения для input.I нужно написать свою собственную функцию для обработки ошибок (когда пользователь нажимает OK и не входит в какой-либо предмет или недопустимый ввод) и некоторые другие свойства, такие как изменение размера, высота, ширина и т.д диалогового окна.

Как переопределить функцию, например. ОК ?

ответ

2

Вы можете создать собственный класс диалога, который наследуется от tkSimpleDialog. Таким образом, вы можете переопределить любой из основных методов класса. Классический ООП и расширение для спасения.

Проверить эту документацию за учебник: http://effbot.org/tkinterbook/tkinter-dialog-windows.htm

Еще один: http://effbot.org/tkinterbook/tkinter-entry-dialogs.htm

Вы могли бы взглянуть на источник tkSimpleDialog.py, чтобы увидеть доступные методы класса и посмотреть, какие из них вы можете расширить. Более быстрый способ - сделать dir(tkSimpleDialog) после того, как вы его импортировали, чтобы увидеть все его методы, свойства и классы.

Всегда помните, если что-то есть класс, существует возможность распространить его на свои!

Все самое лучшее.

+0

Фактически сначала я проверил файл tkSimpleDialog.py, после чего задал этот вопрос. Я также посетил сайт, который вы связали. Я хотел бы наследовать функции, используя этот файл. –

+0

Ваш код не отражает тот факт, что вы прошли этот учебник. Ваш код не пытается наследовать какой-либо класс. Если вы хотите настроить некоторые функции класса, вам необходимо наследовать его и переопределить методы, которые вы хотите настроить. Просто просмотрите раздел «Создание простого диалога, пересмотренный» из первой ссылки. – kartikg3

+0

Если вы посмотрите на функцию Ok в этом модуле, вы обнаружите, что это частный модуль. –

Смежные вопросы