2015-01-18 2 views
1

Qt4 QToolBar에서 툴팁을 어떻게 비활성화합니까?QToolbar에서 툴팁을 비활성화하는 방법은 무엇입니까?

QAction :: setToolTip ("")을 사용하면 아무 반응이 없으며 QAction 또는 QToolbar에서 툴팁을 비활성화하는 것과 관련된 설정을 찾을 수 없습니다!

예 :

Toolbar.h

#ifndef TOOLBAR_H 
#define TOOLBAR_H 

#include <QtGui> 

class Toolbar : public QToolBar 
{ 
    Q_OBJECT 

public: 
    Toolbar() 
    { 
     QAction *action = this->addAction("Action"); 
     action->setToolTip(""); 
    } 

    bool event(QEvent *event) 
    { 
     if(event->type() == QEvent::ToolTip) 
     { 
      qDebug() << "QEvent::ToolTip"; 
     } 

     return QToolBar::event(event); 
    } 
}; 

#include "moc_Toolbar.cpp" 

#endif // TOOLBAR_H 

MAIN.CPP

#include <QtGui> 
#include "Toolbar.h" 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QMainWindow window; 
    Toolbar *toolbar = new Toolbar; 

    window.addToolBar(toolbar); 
    window.setCentralWidget(new QWidget()); 

    window.show(); 

    return app.exec(); 
} 

답변

0

이벤트 필터는이 경우에 사용되어야한다.

Toolbar.h

#ifndef TOOLBAR_H 
#define TOOLBAR_H 

#include <QtGui> 

class Toolbar : public QToolBar 
{ 
    Q_OBJECT 

public: 
    Toolbar() 
    { 
     QAction *action = this->addAction("Action"); 
    } 

    bool eventFilter(QObject *object, QEvent *event) 
    { 
     if(event->type() == QEvent::ToolTip) 
     { 
      return true; 
     } 
     return false; 
    } 
}; 

#include "moc_Toolbar.cpp" 

#endif // TOOLBAR_H 

MAIN.CPP 나는이에 그냥 도구 모음 지역화 할 수 있지만, 이것은 그래서 어쨌든 툴팁을 좋아하지 않는 방법을 아주 확실하지 않다

#include <QtGui> 
#include "Toolbar.h" 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QMainWindow window; 
    Toolbar *toolbar = new Toolbar; 

    qApp->installEventFilter(toolbar); 

    window.addToolBar(toolbar); 
    window.setCentralWidget(new QWidget()); 

    window.show(); 

    return app.exec(); 
} 

모든 것을 비활성화하는 빠른 방법.

관련 문제