如何将 'on double clicked' 事件添加到 QTableWidget 中的整行?
How to add an 'on double clicked' event to an entire row in a QTableWidget?
我想向我的 QTableWidget 中的每一行添加一个 'on double clicked' 事件。我怎样才能做到这一点?
以下函数向 QTableWidget 添加 1 行:
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 基础中可用的 doubleClicked 信号 class:
connect(m_mainWindow.getReceivedFilesTableWidget(), SIGNAL(doubleClicked(QModelIndex const&)), this, SLOT(onTableItemDoubleClicked(QModelIndex const&)));
您的 onTableItemDoubleClicked 实现必须使用 QTableWidget::itemFromIndex 在 QModelIndex 和 QTreeWidgetItem 之间进行转换。
我想向我的 QTableWidget 中的每一行添加一个 'on double clicked' 事件。我怎样才能做到这一点?
以下函数向 QTableWidget 添加 1 行:
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 基础中可用的 doubleClicked 信号 class:
connect(m_mainWindow.getReceivedFilesTableWidget(), SIGNAL(doubleClicked(QModelIndex const&)), this, SLOT(onTableItemDoubleClicked(QModelIndex const&)));
您的 onTableItemDoubleClicked 实现必须使用 QTableWidget::itemFromIndex 在 QModelIndex 和 QTreeWidgetItem 之间进行转换。