有两种显示方法,一种是把鼠标放在单元格上面,显示出ToolTip;另外一种是用鼠标点击单元格,再会显示出ToolTip。
方法一:
ui->tableWidget->itemAt(1,1)->setToolTip(tr("XXXXXXXXXXXX")); 直接调用相关单元格的setToolTip,2秒之后即会弹出ToolTip提示。
尝试过用ui->tableWidget->cellWidget(1,1),用单元格Widget,但是不知道为什么编译会出问题。
方法二:
通过点击,做成一个信号槽。
connect(ui->tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(showToolTip(int,int))); tableWidget里面自带有cellClicked(int,int)这个发射信号,单击某单元格会自动发射该信号。showToolTip(int,int)是自己写的一个槽函数。
显示ToolTip时使用
QString coursePosition;
coursePosition.append("Mouse Position\n");
QToolTip::showText(QCursor::pos(),coursePosition);
即可实现单击后显示。
各有各的优缺点。
http://hi.baidu.com/%B7%E7%BA%DB%CF%D2%D4%C2/blog/item/392252c3a84681150ff4777b.html
ui->tableView->setMouseTracking(true);
2. 与QTableView的entered信号连接:
connect(ui->tableView, SIGNAL(entered(QModelIndex)),
this, SLOT(showToolTip(QModelIndex)));
3. 糟函数:
void Widget::showToolTip(const QModelIndex &index) {
if (!index.isValid()) {
qDebug() << "Invalid index";
return;
}
QToolTip::showText(QCursor::pos(), index.data().toString() + "\ngoto hell");
}
QCursor::pos(): 返回鼠标的位置.http://www.cppblog.com/biao/archive/2009/08/07/92577.html