如何在按下托盘图标菜单操作时执行功能?

发布于 2024-09-06 18:20:58 字数 495 浏览 1 评论 0原文

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

    QAction *action1;
    QMenu menu;

    QSystemTrayIcon TrayIcon( QIcon("favicon.ico") );

    TrayIcon.show();

    action1= new QAction("action1", NULL);

    action1->setStatusTip("Create a new file");


    menu.addAction(action1);
    TrayIcon.setContextMenu(&menu);

    return oApp.exec();
}

如何才能在打开菜单并按 action1 时执行一个函数?

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

    QAction *action1;
    QMenu menu;

    QSystemTrayIcon TrayIcon( QIcon("favicon.ico") );

    TrayIcon.show();

    action1= new QAction("action1", NULL);

    action1->setStatusTip("Create a new file");


    menu.addAction(action1);
    TrayIcon.setContextMenu(&menu);

    return oApp.exec();
}

How can I make it so that when I open the menu and press on action1, a function is executed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷夜 2024-09-13 18:20:58

使用名为 myslot 的槽创建新类(从 QObject 派生),然后:

class MyClass : public QObject {
Q_OBJECT
...
public slots:
    void mySlot();
};

myObject = new MyClass();
connect(action1, SIGNAL(triggered()), myObject, SLOT(mySlot()));

Create new class (derived from QObject) with a slot called, e.g. myslot, then:

class MyClass : public QObject {
Q_OBJECT
...
public slots:
    void mySlot();
};

myObject = new MyClass();
connect(action1, SIGNAL(triggered()), myObject, SLOT(mySlot()));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文