2010-03-04 28 views
3

我想在wxPython類中添加一個新功能。我也希望現有的功能,因爲它加上新的功能。達到目標的最佳方式是什麼?如果有人能夠一步一步地說出來,這將會很棒嗎?wxPython自定義控件

我是wxPython的新手,並在wxPython中編寫我的第一個應用程序。

此外,本地控制和完整的所有者繪製的控制之間有什麼區別。

回答

10

歡迎來到wxPython!如果你想創建一些自定義的東西,你需要對你想修改的基礎控件進行分類。通常情況下,這將是一個wx.Panel,如果您要合併多個事物,但它也可以是單選按鈕,複選框等等。請查看http://wiki.wxpython.org/CreatingCustomControls,其中用示例詳細解釋了它。

本地控件按照操作系統進行繪製。一個原生的複選框基本上說「嘿操作系統,爲我畫一個複選框」,所以它會看起來應該如何,「本地」在任何系統上,包括融入主題。所有者繪製的複選框由自定義代碼繪製,在所有系統中通常都是相同的。這爲您的控件的外觀和行爲提供了更多的靈活性,但是以本地外觀和感覺爲代價,並且通常無法在可訪問性方面發揮出色。

雖然這兩個概念並不特別相關;僅僅因爲一個控件是自定義的,並不意味着它必須被所有者繪製,也不是一個內置的wxPython控件總是本地的。

如果您下載wxPython演示應用程序,您可以找到各種本機,所有者繪製和自定義控件的示例。希望這可以幫助!

+0

很好的答案,額外感謝澄清「僅僅因爲控件是自定義的並不意味着它必須被所有者繪製」部分,這是我的疑問。 – WhyNotHugo 2010-08-06 02:11:33