我有此代码:
class Window(QtWidget):
def __init__(self):
super().__init__()
self.init_gui()
def init_gui(self):
layout = GRidLayout(self)
icon = QIcon("icon.png")
button = self.Button(0, self)
button.set_icon(icon)
button.set_menu()
button.init()
layout.addWidget(button)
self.show()
def gui_button_method(self):
print("LOL")
class Button(QToolButton):
def __init__(self, style, window_self):
super().__init__()
self.setToolButtonStyle(style)
self.window_self = window_self
self.action = QAction()
def set_icon(self, icon):
self.action.setIcon(icon)
def set_menu(self):
menu = QMenu()
menu.addAction("BUTTON METHOD", self.window_self.gui_button_method)
self.setMenu(menu)
self.setPopupMode(2)
def init(self):
self.setDefaultAction(self.action)
我调用Window方法gui_button_method类,将Window参数的自身发送给Button类。
有最简单的方法吗?
我在该网站上阅读了很多解决方案,但没有一个是我的解决方案。但是我的解决方案在我看来像是错误的代码,还是我错了?