classxxxClass(QtCore.QObject):xxxSignal:pyqtSignal=pyqtSignal(str)def__init__(self):super().__init__()self.xxxSignal.connect(self.xxxSignalCallback)defxxx_emit(self):self.xxxSignal.emit("xxxx")defxxxSignalCallback(self,info):print("recv signal : "+info)
importpandasaspdimportdatatableasdtfromPyQt5importQtCorefromPyQt5.QtCoreimportQt,pyqtSignalclassTableModel(QtCore.QAbstractTableModel):def__init__(self,data):super(TableModel,self).__init__()self._data=datadefdata(self,index,role):ifrole==Qt.DisplayRole:value=self._data.iloc[index.row(),index.column()]returnstr(value)defrowCount(self,index):returnself._data.shape[0]defcolumnCount(self,index):returnself._data.shape[1]defheaderData(self,section,orientation,role):# section is the index of the column/row.ifrole==Qt.DisplayRole:iforientation==Qt.Horizontal:returnstr(self._data.columns[section])iforientation==Qt.Vertical:returnstr(self._data.index[section])