記事ディレクトリ
要件の説明: コントロール上にマウスを置くと、設定されたバブル情報を表示します
Qt5 の以前のバージョンでは、バブルの設定は C++ の他のクラス ライブラリを通じて実現する必要があり、関連する Qt クラスが Qt5 に実装されていました。また、テキストの吹き出しを設定するだけでなく、QToolTip
クラスを書き換えることで必要な吹き出しスタイルを実装することもできます。
Qt 5.9.9以降サポートされていますQToolTip
。QWidget
基本的に、 から継承されたすべてのコンポーネントはsetToolTip()
バブル情報を設定できます。以下に示す Qt の基本クラスはすべてバブル情報を設定できます。
- setToolTip: QAction QGraphicsItem QListWidgetItem QStandardItem QSystemTrayIcon QTableWidgetItem QTextCharFormat QTreeWidgetItem QWidget QWinThumbnailToolButton
- setToolTipDuration: QWidget
- setToolTipsVisible: QMenu
基本的に、 から継承したすべてのQWidget
Qt コントロール クラスはバブルの設定をサポートしています。この記事では、テキスト バブルの機能を説明するための例として と をQLabel
使用します。QPushButton
コード
コードは非常に単純で、UI インターフェイス上で 1 つずつドラッグしQLabel
、QPushbutton
UI インターフェイス上の信号スロットを右クリックしてスロットに移動するだけです。
#include "widget.h"
#include "ui_widget.h"
#include <QImage>
#include <QPixmap>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
QPixmap img(":/Win11.jpg");
ui->label->setPixmap(img);
ui->label->setScaledContents(true);
ui->label->setToolTip(QString("壁纸《Win11.png》"));
ui->pushButton->setToolTip(QString("隐藏或显示图片"));
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
if(ui->label->isVisible())
ui->label->hide();
else
ui->label->setVisible(true);
}