Я использую PyQt
для создания приложения с matplotlib
, и я пытаюсь подключить метод из одного класса другим методом из другого класса.Подключение трех классов из методов внутри них в python
Класс A - это QMainWindow
, который представляет собой экземпляр class B
, который представляет собой фигурку matplotlib
. Поэтому, когда я вызываю метод a
от class A
(подключен к QPushButton
), он вызывает class C
, чтобы что-то сделать, а затем он должен подключиться к method b
в class B
, чтобы сделать что-то еще.
Я прочитал много кодирования, и я нашел, что это, например:
python super calling child methods
, который я пытался сделать, но это не сработало.
Это код, у меня есть:
class A(QMainWindow):
def __init__(self):
super(QMainWindow, self).__init__()
#A lot of stuff in here
#I instantiate class B
self.call_B = B()
def a(self):
print "Hello"
self.open_C = C(self)
class B(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
#A lot of stuff in here
def b(self):
print "How are you?"
class C(B):
def __init__(self):
super(C, self).__init__()
#A lot of stuff in here
self.connect_to_b()
def connect_to_b(self):
#From here is where I need to call method b() from class B
Как вы можете видеть выше, мне нужно подключить метод connect_to_b
от class C
методу b
в class B
.
Как это сделать? Надеюсь, ты поможешь мне.
если 'C' имеет тип' B', у него есть доступ к 'b'. просто позвоните 'b' с' b() ' –
Спасибо за ваш комментарий. Я пробовал это, но это не сработало. Может быть, я чего-то не хватает. Я получаю эту ошибку при этом: 'global name 'b' не определен' –
use' self.b() 'потому что' b' находится в вашем классе –