4
從Python使用Qt窗口小部件的常用方式似乎是對它們進行子類化。PyQt子類化
Qt小部件類有很多方法,所以不可避免地我最終會在子類中添加一個方法,其名稱與從Qt小部件繼承的相同。在Python中,所有的方法都是虛擬的,所以我擔心的是一些Qt代碼最終可能會調用我的方法而不是預期的Qt - 在最壞的情況下,打破一些不容易顯示的邊界情況在測試中。
另一方面,也許所有的PyQt方法都只是C++代碼的封裝,當然這些方法不會受到我在Python子類化方面所做的任何事情的影響。
任何人都知道這是什麼情況?
啊,PyQt那麼遠?當然,如果你想重寫一個Qt方法,這是一個好消息,但是如果你不這樣做的話會產生壞消息。那麼,更好的做法是委託而不是子類? – rwallace 2009-12-01 20:33:14
如果你不想重寫,請給它一個不同的名字。順便說一下,代表什麼意思? – Macke 2009-12-01 21:02:25
爲什麼不只是通過PEP 8進行操作並將所有方法命名爲小寫字母/下劃線? Qt使用camelCase,所以你不會有任何衝突...除了可能的單字方法名稱... – 2009-12-01 21:58:14