C++ 如何添加';双击';QTableWidget中整行的事件?
我想在QTableWidget的每一行中添加一个“双击”事件。我该怎么做 以下函数向QTableWidget添加1行:C++ 如何添加';双击';QTableWidget中整行的事件?,c++,qt,signals,signals-slots,slot,C++,Qt,Signals,Signals Slots,Slot,我想在QTableWidget的每一行中添加一个“双击”事件。我该怎么做 以下函数向QTableWidget添加1行: void ViewController::addReceivedFileToTable(QString sopInstanceUID, QString sopClassUID, QString fileName) { m_mainWindow.getReceivedFilesTableWidget()->insertRow(0); m_mainWindow
void ViewController::addReceivedFileToTable(QString sopInstanceUID, QString sopClassUID, QString fileName)
{
m_mainWindow.getReceivedFilesTableWidget()->insertRow(0);
m_mainWindow.getReceivedFilesTableWidget()->setItem(0,0,new QTableWidgetItem(sopInstanceUID));
m_mainWindow.getReceivedFilesTableWidget()->setItem(0,1,new QTableWidgetItem(sopClassUID));
m_mainWindow.getReceivedFilesTableWidget()->setItem(0,2,new QTableWidgetItem(fileName));
}
我需要像这样的东西:
connect(m_mainWindow.getReceivedFilesTableWidget()->[getRow]->[onDoubleClicked], ....)
您需要连接到QAbstractItemView基类中可用的双击信号:
connect(m_mainWindow.getReceivedFilesTableWidget(), SIGNAL(doubleClicked(QModelIndex const&)), this, SLOT(onTableItemDoubleClicked(QModelIndex const&)));
onTableItemDoubleClicked的实现必须使用QTableWidget::itemFromIndex在QModelIndex和QTreeWidgetItem之间进行转换。新的signals slots语法的代码是什么?您能给我一个例子吗?Qt如何知道哪一行连接到信号?新语法应该是:connect(m_mainWindow.GetReceivedFileTableWidget(),&QAbstractItemView::doubleClicked,this,&ViewController::onDoubleClicked);将为双击的任何行调用插槽。在实现插槽时,必须通过检查插槽的pass参数来查看双击了哪一行。可以使用QTableWidgetItem::row()或QModelIndex::row()获取该项目的行。