2015-01-12 453 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函數,那麼你會發現這對模塊來說是私有的。 –