Qt如何添加QAction的图标

Qt如何添加QAction的图标,第1张

Action = new QAction("icon",this)

Action->setIcon(QIcon("../image/1.png"))//图片路劲

QAction::QAction ( const QIcon &icon, const QString &text, QObject *parent )

直接这样用也行

QAction是继承QObject的一个类。

例如QActionGroup就是QAction的一个继承类。

QAction类抽象出一个用户UI动作(action),该动作可出现在菜单和工具栏上。

向用户提供一个action时,可以调用addTo()添加到菜单或者工具栏上。例如:

QPopupMenu* popup = new QPopupMenu

QAction* yourAction= new QAction

yourAction->setText( "YourAction" )

yourAction->addTo( popup )

QMenu *pMenu = new QMenu(this)

    QAction *pTest1 = new QAction(QIcon("copy.ico"),"复制", this)

    QAction *pTest2 = new QAction("删除", this)

    QAction *pTest3 = new QAction("标记", this)

    QAction *pTest4 = new QAction("取消标记", this)

  //把QAction对象添加到菜单上

    pMenu->addAction(pTest1)

    pMenu->addAction(pTest2)

    pMenu->addAction(pTest3)

    pMenu->addAction(pTest4)

    //添加分隔线

    //pMenu->addSeparator()

    //设置点击后发送的数据

  // pTest1->setData(1)

    //连接鼠标右键点击信号

    connect(pTest1, &QAction::triggered, this, &sub::ClickCopy)

    connect(pTest2, &QAction::triggered, this, &sub::ClickDel)

    connect(pTest3, &QAction::triggered, this, &sub::Clicktink)

    connect(pTest4, &QAction::triggered, this, &sub::ClickDeltink)

    //在鼠标右键点击的地方显示菜单

    pMenu->exec(cursor().pos())

    //释放内存,若此处不手动释放,则必须等到程序结束时才都能释放

    QList list = pMenu->actions()

    foreach (QAction* pAction, list)

        delete pAction

    delete pMenu


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/7907501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存