qt中如何实现浮现窗口功能。

比如,鼠标移动到一个按钮上(pushbutton),则显示相关内容,如下图:
https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1550294590198&di=92b0962700eb5620886b6f21235b20bb&imgtype=jpg&src=http%3A%2F%2Fimg3.imgtn.bdimg.com%2Fit%2Fu%3D3680575353%2C534111438%26fm%3D214%26gp%3D0.jpg

有几种方案:
1.使用QToolTip。可显示富文本(图片亦可)。
可参考官方示例tooltips:https://doc.qt.io/qt-5/qtwidgets-widgets-tooltips-example.html
将其中的QToolTip::showText稍作改动即可显示富文本。该函数中第二个参数const QString &text使用HTML代码编写即可。例如,将上述示例中SortingBox::event函数定义中的语句

QToolTip::showText(helpEvent->globalPos(), shapeItems[index].toolTip());

改为:

QToolTip::showText(helpEvent->globalPos(), QString("<img src=\":/images/circle.png\" />circle"));

即可。

2.自定义类。

可定制更为灵活的窗口。网上的示例代码很多,给一个参考:Qt5制作类似QQ好友鼠标悬停显示好友信息的ToolTip

https://blog.csdn.net/jayhoodlol/article/details/79112626

//核心控件
QTextEdit *tEdit=new QTextEdit(this);
setCentralWidget(tEdit);

 //浮动窗口
QDockWidget *dock=new QDockWidget(this);
addDockWidget(Qt::LeftDockWidgetArea,dock);

//给浮动窗口添加控件
QTextEdit *tEdit1=new QTextEdit(this);
dock->setWidget(tEdit1);