0

QT の場合: アイコンとテキストのみを表示したいので、QPushButton を使用します。しかし、どうすればクリック効果を取り除くことができますか?

4

2 に答える 2

2

QPushButton をサブクラス化し、Paint イベント以外のすべてのイベントを無視できます。

class IconLabel : public QPushButton {

...

bool IconLabel::event ( QEvent * e ) {
   if (e->type() == QEvent::Paint) {
      return QPushButton::event(e);
   }
   return true;
}

要件によっては、IconLabel でツールチップを使用する場合など、追加のイベントを通過させる必要がある場合があります。

   if (e->type() == QEvent::Paint ||
       e->type() == QEvent::ToolTip) {
      return QPushButton::event(e);
   }
于 2012-09-28T09:52:32.337 に答える
2

私はこの解決策を試していませんが、うまくいくようです。

上記リンクよりコピペ

ラベルにリッチ テキストを使用します。例:

lbl->setTextFormat(Qt::RichText);
lbl->setText("<img src=":/myimage.png">Hello!");
于 2012-09-28T10:23:27.233 に答える