Python PyQt从另一个类访问项
我正在使用PyQt,我需要从另一个类方法访问列表项,我该怎么做 我想在item_click(self,item)方法中使用self.list_项,并在另一个类方法中使用它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):
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因为我正在一个新的对话框窗口中使用它