@kibernetshow

Как вызвать функцию из другого класса?

Есть такой код(обрезанный), как мне вызвать из функции "sendAcc" функцию "addRefreshAcc"?

class MyTableWidget(QWidget):
	def __init__(self, parent=None):
		super(QWidget, self).__init__(parent)

	def addRefreshAcc(self):
		print("Refresh")
		asd = 5

class AddAcc(QWidget):
	def __init__(self):
		super(AddAcc, self).__init__()

	def sendAcc(self):
		widget = MyTableWidget()
		widget.addRefreshAcc()
		pass

class Window(QMainWindow):
	def __init__(self):
		super(Window, self).__init__()
		self.table_widget = MyTableWidget(self)



if __name__ == "__main__":
	app = QApplication(sys.argv)
	GUI = Window()
	sys.exit(app.exec_())
  • Вопрос задан
  • 3027 просмотров
Решения вопроса 1
Слишком обрезанный. Не понятно зачем это нужно.
И это не функции, а методы - их нельзя просто так "вызывать". Сперва создается инстанс класса, а затем вызывается его метод. Соответственно, sendAcc должен знать у какого инстанса MyTableWidget дернуть метод addRefreshAcc.

widget = MyTableWidget()

...

  def sendAcc(self, widget):
    widget.addRefreshAcc()
    pass
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы