擅长:python、mysql、java
<p>这听起来更像是wxpython问题而不是类问题。通常,在python中,tab1需要tab2的句柄来隐藏tab2中的按钮。或者它需要一些共享资源的句柄,比如父类或共享模型类,这样tab1就可以影响tab2中的设置(比如隐藏按钮)。PyQt提供了一个事件系统,允许类之间的通信,这些类之间不一定包含彼此的句柄。wxpython中常见的“可接受”通信方式是什么?在</p>
<p>下面是共享父解决方案的一个相当抽象的示例。在</p>
<pre><code>class Parent(object):
def create_tabs():
self.tab1 = Tab1(self)
self.tab2 = Tab2(self)
def hide_tab2_button():
self.tab2.hide_button()
class Tab1(object):
def __init__(self, parent):
self.parent = parent
def on_checkbox_checked(self):
self.parent.hide_tab2_button()
class Tab2(object):
def __init__(self, parent):
self.parent = parent
def hide_button(self):
self.button.hide() # Or whatever the wxpython command is to hide a button.
</code></pre>