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