QTableWidget控件,其中的每一个Item中显示的文字内容比较多,如果设置Item过大的话,文字虽然可以显示出来,但是整个页面就会显示的Item比较少。所以为了多显示Item,每个Item的大小设置还是要适中一些,带来的问题就是每个Item中显示的内容不全。但是还必须要让用户了解每一个Item中的内容,所有就想到了使用“气泡”来显示其中的内容。
实现的以上功能:
- 必须开启界面的鼠标捕获功能:
ui->tableWidget->setMouseTracking(true); - 接收QTableWidget的信号
itemEntered(QTableWidgetItem *item)(也可以是其它信号):connect(ui->tableWidget, &QTableWidget::itemEntered, this, &AuthToMe::setItemToolTip); 槽函数
void Widget::setItemToolTip(QTableWidgetItem *item){QFontMetrics fontWidth(ui->tableWidget->font());int font_size = fontWidth.width(item->text());// 根据需求指定列int width = ui->tableWidget->columnWidth(0);if (font_size > width)QToolTip::showText(QCursor::pos(), item->text());}
效果图

