在QTableWidget中显示工具提示

Rak*_*h K 3 qt

我的Qt应用程序中有一个QTableWidget.我在表格小部件的单元格中设置了QTableWidgetItem.当用户将鼠标悬停在桌子的单元格上时,我需要显示工具提示.我已经在我的类中重写了mouseMoveEvent(),我正在调用工具提示的方法来显示它.但它不起作用.我还将小部件的鼠标跟踪设置为true.以下是我的代码:

void TableDialog::mouseMoveEvent(QMouseEvent *event)
{
    QPoint pos = event->pos();
    QTableWidgetItem *item = ui.tableWidget->itemAt(pos);
    if(!item)
        return;
    QToolTip::showText(ui.tableWidget->viewport()->mapToGlobal(pos), "Sample tool tip using mouseMoveEvent in TableDialog class");
}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?请告诉我如何显示此工具提示.

Cla*_*dio 7

您只需使用QTableWidgetItem :: setToolTip()为每个QTableWidgetItem设置工具提示.当您创建窗口小部件项并设置其名称时,这可能是个好主意.然后当用户将鼠标移到项目上时,QTableWidget将显示该项目的工具提示.

如果切换到基于模型的数据视图,则必须使用role = Qt :: ToolTipRole从Model :: data()返回工具提示.