Python PyQt从另一个类访问项

Python PyQt从另一个类访问项,python,pyqt,Python,Pyqt,我正在使用PyQt,我需要从另一个类方法访问列表项,我该怎么做 我想在item_click(self,item)方法中使用self.list_项,并在另一个类方法中使用它 Class Window(QtWidgets.QWidget): def __init__(self): super(Window, self).__init__() self.LoadList() self.show() def LoadList(self):

我正在使用PyQt,我需要从另一个类方法访问列表项,我该怎么做

我想在item_click(self,item)方法中使用self.list_项,并在另一个类方法中使用它

Class Window(QtWidgets.QWidget):
    def __init__(self):
        super(Window, self).__init__()
        self.LoadList()
        self.show()

    def LoadList(self):
        self.ui = Ui_List()
        self.ui.setupUi(self)

        self.ui.listWidget.itemClicked.connect(self.item_click)
        self.ui.pushButton_Edit.clicked.connect(self.edit_project_btn)

    def item_click(self, item):
        self.list_item = str(item.text())
        self.ui.pushButton_Edit.setEnabled(True)

    def edit_project_btn(self):
        self.dialog = ProjectEdit()
        self.dialog.show()

class ProjectEdit(QtWidgets.QDialog):
    def __init__(self):
        super(ProjectEdit, self).__init__()
        self.ui = Ui_Edit()
        self.ui.setupUi(self)

        self.ui.pushButton_ok.clicked.connect(self.close)
        ### access self.list_item here ####

首先,您应该在
\uuuu init\uuuu
方法中声明
列表项目
对话框

class Window(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super(Window, self).__init__()
        self.list_item = None
        self.dialog = None
        self.LoadList()
        self.show()
然后您可以将参数传递给类构造函数

def edit_project_btn(self):
    self.dialog = ProjectEdit(self.list_item)
    self.dialog.show()   

class ProjectEdit(QtWidgets.QDialog):
    def __init__(self, list_item):
        super(ProjectEdit, self).__init__()
        self.ui = Ui_Edit()
        self.ui.setupUi(self)

        self.ui.pushButton_ok.clicked.connect(self.close)
        self.list_item = list_item

在何处初始化ProjectEdit?我删除了一些代码,但对其进行了更新,以显示现在为什么要访问ProjectEdit构造函数中的list_项?您可以传递类的实例来访问它,但方法是发出一个信号来更新ProjectEdit中的值class@eyllanesc因为我正在一个新的对话框窗口中使用它