如何在qt中的QToolBar元素中鼠标悬停时更改QAction Qt的图标?

时间:2016-06-14 12:32:51

标签: qt qt5.6 qaction qtoolbar

我的QToolBar中有一些QActions。 QAction没有任何样式表,所以我试图在鼠标悬停时更改QAction图标。如何在鼠标悬停时更改QAction图标

1 个答案:

答案 0 :(得分:0)

要更改鼠标悬停图标,您可以使用setPixmap()

为QIcon的不同状态设置不同的像素图

请参阅此处http://doc.qt.io/qt-5/qicon.html#pixmap

如果您的操作是在QtCreator或QtDesigner中创建的,则可以在属性 windowIcon

的属性菜单中进行更改

我在QToolBar中有一个动作,它根据状态而改变,所以我在构造函数中创建了一个QIcon和一个QPixmap,如下所示:

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);
    }