gpt4 book ai didi

c++ - Qt如何在QTableView中选择鼠标下的单词

转载 作者:太空宇宙 更新时间:2023-11-04 13:42:23 28 4
gpt4 key购买 nike

我有一个QTableView,我想突出显示当前鼠标指针下的实际单词那么我怎样才能找到这个词呢?

void LogItemDelegate::paint(QPainter *painter,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
QString text = index.model()->data(index, Qt::DisplayRole).toString();
// so how can i find the word under the mousepointer
}

最佳答案

试试这个:

    QString text = index.model()->data(index, Qt::DisplayRole).toString();
if(option.state & QStyle::State_MouseOver)
{
painter->setPen(Qt::blue);
painter->drawText(option.rect,text);
}
else
{
QStyledItemDelegate::paint(painter,option,index);
}

你也可以试试:

painter->drawText(option.rect.adjusted(3, 7, 0, 0),txt);

为了更好的视觉表现。

但我可以预见这不会奏效。为什么?你应该允许鼠标跟踪,所以只需添加:

ui->tableView->setMouseTracking(true);
ui->tableView->setItemDelegate(new LogItemDelegate);

关于c++ - Qt如何在QTableView中选择鼠标下的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27300452/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com