I have a QWidget and inside that, there is a QTableView. I need to have a find functionality on the first column of the table, so when I click on Ctrl+F, a find dialog will pop-up.
class Widget(QWidget):def __init__(self,md,parent=None):QWidget.__init__(self,parent)layout=QVBoxLayout(self)# initially construct the visible tabletv = QTableView()# uncomment this if the last column shall cover the resttv.horizontalHeader().setStretchLastSection(True)tv.show()# set black grid linesself.setStyleSheet("gridline-color: rgb(39, 42, 49)")# construct the Qt model belonging to the visible tablemodel = NvmQtModel(md)tv.setModel(model)tv.resizeRowsToContents()tv.resizeColumnsToContents()# set the shortcut ctrl+F for find in menushortcut = QShortcut(QKeySequence('Ctrl+f'), self)shortcut.activated.connect(self.handleFind)# delegate for decimaldelegate = NvmDelegate()tv.setItemDelegate(delegate)self.setGeometry(200,200,600,600) # adjust this laterlayout.addWidget(tv)# set window titleself.setWindowTitle("TITLE")# shows and handles the find dialogdef handleFind(self):findDialog = QDialog()grid = QGridLayout()findDialog.setLayout(grid)findLabel = QLabel("Find what", findDialog)grid.addWidget(findLabel,1,0)findField = QLineEdit(findDialog)grid.addWidget(findField,1,1)findButton = QPushButton("Find", findDialog)findButton.clicked.connect(self.find)grid.addWidget(findButton,2,1)findDialog.exec_()# find function: search in the first column of the table def find(self):#to do# prevent closing the window without confirmationdef closeEvent(self, event):reply=QMessageBox.question(self,'Message',"Are you sure to quit?",QMessageBox.Yes|QMessageBox.No,QMessageBox.No)if reply==QMessageBox.Yes:event.accept()else:event.ignore()# create the application and the new tree view container
app=QApplication(sys.argv)
wid=Widget(md)
wid.show()
wid.raise_()
I have problem in the findButton action where it should search in the first column of the table. I would appreciate if you guide me in this issue.