如何解决在具有相同父 Widget 的不同类中执行方法
我正在使用 PyQt5 制作一个管理客户的应用程序,当有人试图从 QTableWidget
中删除一个客户时,他会得到一个确认和提交的弹出窗口。
因为我需要自定义作为 QMainWindow
制作的弹出按钮,与代码中的所有类(其他窗口)相同。
来自 class WarningWindow(QMainWindow)
我正在尝试运行 load_customers_tree
下的方法 class CustomersWindow(QMainWindow)
。
这是相关的一段代码:
import sys
from pyside2.QtWidgets import *
from ui_customers_window import Ui_CustomersWindow
from ui_main_window import Ui_MainWindow
from ui_warning_window import Ui_WarningWindow
class MainWindow():
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
# OTHER WINDOWS DECLARE FOR FUTURE USE
self.customers_window = CustomersWindow()
self.event_window = Eventwindow()
# BUTTONS LINK TO OTHER WINDOWS
self.ui.clients_button.clicked.connect(self.customers_window.pop)
class CustomersWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_CustomersWindow()
self.ui.setupUi(self)
def tree_setup(self):
pass
def load_customers_tree(self):
pass
def pop(self):
self.tree_setup()
self.show()
class WarningWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_WarningWindow()
self.ui.setupUi(self)
def delete_selected(self):
CustomersWindow.load_customers_tree(self)
self.hide()
def pop_window(self,*args):
self.show()
self.raise_()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
我的问题是 delete_selected
中的 class WarningWindow(QMainWindow)
方法,
我收到一个错误:
AttributeError: 'CustomersWindow' 对象没有属性 '警告窗口'
我曾尝试在 CustomerWindow
的构造函数中声明 WarningWindow
类,但这让我在两个类(CustomersWindow 和 WarningWindow)之间出现无限递归错误。
我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。