2016-06-14 7 views
0

QToolBar에 일부 QAction이 있습니다. QAction에는 스타일 시트가 없으므로 마우스를 가리킬 때 QAction 아이콘을 변경하려고합니다. 내가 마우스 호버에 QAction 아이콘을 변경하는 방법을qt의 QToolBar 요소에서 마우스를 가져갈 때 QAction Qt의 아이콘을 변경하는 방법은 무엇입니까?

+0

QAction에 'hover()'신호가있어서 – infixed

+0

에 연결할 수 있다고 생각했습니다. 감사합니다. 그 작동하지만 우리가 그 행동에서 마우스를 가져 가면 새로운 아이콘이 나타납니다 (마우스가 달린 아이콘이 나타납니다) 어떻게 해결할 수 있습니까? –

+0

@RishabhBansal 부분적으로 작동하는 코드를 보여주십시오. – maxik

답변

0

이 setPixmap를 사용하여, 당신은 당신의 QIcon의 개의 다른 국가에 대한 개의 다른 픽스맵을 설정할 수 있습니다 마우스 호버에있는 아이콘을 변경하려면()

여기 http://doc.qt.io/qt-5/qicon.html#pixmap

을 경우를 참조하여 액션이 QtCreator 또는 QtDesigner에 생성됩니다, 당신은 재산 windowIcon 나는 상태에 따라 변경 QToolBar에서 작업을 가지고

의 속성 메뉴에서 변경할 수 있습니다, 그래서 난 생성자에서 QIcon과 QPixmap을 생성 like :

MainConfigWindow::MainConfigWindow(QWidget *parent) :   
    QMainWindow(parent), 
    icoDisconnected(QIcon(":/icons/connect_128.png")), 
    pixmapDisconnected(QPixmap(":/icons/disconnect_128.png")) 
    { 
     ui->setupUi(this); 
     icoConnected.addPixmap(pixmapDisconnected,QIcon::Selected,QIcon::On); 
     icoConnected.addPixmap(pixmapDisconnected,QIcon::Selected,QIcon::Off); 
     icoConnected.addPixmap(pixmapDisconnected,QIcon::Active,QIcon::On); 
     icoConnected.addPixmap(pixmapDisconnected,QIcon::Active,QIcon::Off); 
    }