0

在我的一个 Qt 项目中,我有从 SQL 数据库读取的表视图。它包含名称列和存储某些图像路径的列。当我将鼠标悬停在某些图像路径上时,如何像工具提示一样显示图像?我已经激活了鼠标跟踪,但我真的不知道如何使用它。如果可以请提供一些例子。比你提前很多。

4

1 回答 1

0

视图的模型应该响应Qt::TooltipRole并返回工具提示的内容。它可以包含 HTML 标签,包括img显示图像的标签:

class Model : public QAbstractTableModel {
public:
  //...
QVariant data(const QModelIndex &index, int role) const {
  if (role == Qt::ToolTipRole) {
    // find path for specified index
    return QString("<img src='%1'>").arg(path);
  }
  //...
}

如果您使用的是内置模型类,例如QSqlRelationalTableModel,您可以创建该类的子类并重新实现data函数。

于 2013-09-30T00:01:52.400 回答