在 QTableView 上单击鼠标左键即可获取行和列?

the*_*ive 1 c++ qt qtableview

我在一个QTableView. 现在我想跟踪用户按下鼠标左键一次的图像,我想跟踪它,因为我将在更大的窗口中准确地显示该图像。我怎样才能做到这一点?我的意思是如何获取用户按下鼠标左键一次的图像的行和列索引?

我在 QTableView 中看不到任何直接的clicked()信号,那么给我 QTableView 的行或列的工具是什么?

编辑:我想我还应该提到我曾经QStandardItemModelQTableView. 首先,我设置模型的行和列,然后在 a 中输入每个QImage类型项(我将其转换QImageQIconQStandardItem,然后将其放入QStandardItemQStandardItemModel一旦QStandardItemModel设置或填充,我将放入QTableView.

谢谢。

vah*_*cho 5

为了获取按下项目的行和列值,您需要将 的信号连接QTableViewpressed()插槽。像这样的东西:

connect(tableView, SIGNAL(pressed(const QModelIndex &)), this, SLOT(onItemPressed(const QModelIndex &));
Run Code Online (Sandbox Code Playgroud)

这是处理鼠标操作的插槽:

void MyClass::onItemPressed(const QModelIndex &index)
{
    int row = index.row();
    int column = index.column();
    [..]
}
Run Code Online (Sandbox Code Playgroud)