1

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

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

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

谢谢。

4

1 回答 1

4

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

connect(tableView, SIGNAL(pressed(const QModelIndex &)), this, SLOT(onItemPressed(const QModelIndex &));

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

void MyClass::onItemPressed(const QModelIndex &index)
{
    int row = index.row();
    int column = index.column();
    [..]
}
于 2013-11-14T19:47:52.287 回答