Qt 自定义菜单 托盘菜单

这篇具有很好参考价值的文章主要介绍了Qt 自定义菜单 托盘菜单。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

托盘菜单实现:通过QSystemTrayIcon+QMenu+QAction即可完美实现!

实现方式:createActions用于创建菜单、菜单项,translateActions用于设置文本、实现多语化,translateAccount用于设置用户空间配额。

void TrayMenu::createActions()
{
    help_menu = new QMenu();

    //创建菜单项
    action_show = new QAction(this);
    action_quit = new QAction(this);
    action_login_home = new QAction(this);
    action_account = new QAction(this);
    action_user_space = new QAction(this);
    action_help = new QAction(this);
    action_about = new QAction(this);
    action_check_update = new QAction(this);
    action_setting = new QAction(this);

   help_menu->setIcon(QIcon(":/icon/help"));
   action_show->setIcon(QIcon(":/icon/open"));
   action_login_home->setIcon(QIcon(":/icon/home"));
   action_account->setIcon(QIcon(":/icon/user"));
   action_help->setIcon(QIcon(":/icon/help"));
   action_about->setIcon(QIcon(":/icon/about"));
   action_check_update->setIcon(QIcon(":/icon/update"));
   action_setting->setIcon(QIcon(":/icon/set"));
   action_quit->setIcon(QIcon(":/icon/quit"));

    //添加菜单项
   help_menu->addAction(action_about);
   help_menu->addAction(action_help);
   help_menu->addAction(action_check_update);
   this->addAction(action_show);
   this->addAction(action_login_home);
   this->addSeparator();
   this->addAction(action_account);
   this->addAction(action_user_space);
   this->addSeparator();
   this->addAction(action_setting);
   this->addMenu(help_menu);
   this->addAction(action_quit);

    //设置信号连接
    connect(action_show, SIGNAL(triggered(bool)), this, SIGNAL(showWidget()));
    connect(action_quit, SIGNAL(triggered(bool)), this, SIGNAL(logoutWidget()));
    connect(action_setting, SIGNAL(triggered(bool)), this, SIGNAL(setUp()));
    connect(action_about, SIGNAL(triggered(bool)), this, SIGNAL(aboutUs()));
    connect(action_login_home, SIGNAL(triggered(bool)), MenuAction::getInstance(), SLOT(openLoginHome()));
    connect(action_help, SIGNAL(triggered(bool)), MenuAction::getInstance(), SLOT(openHelpMe()));
    QObject::connect(action_check_update, SIGNAL(triggered(bool)), MenuAction::getInstance(), SLOT(openCheckUpdate()));
}

void TrayMenu::translateActions()
{
   help_menu->setTitle(tr("help"));
   action_show->setText(tr("open"));
   action_quit->setText(tr("quit"));
   action_login_home->setText(tr("login home"));
   this->translateAccount();
   action_help->setText(tr("instruction"));
   action_about->setText(tr("about us"));
   action_check_update->setText(tr("check update"));
   action_setting->setText(tr("setting"));
}

void TrayMenu::translateAccount()
{
   action_user_space->setText(tr("use:") + use_space + QString("  ") + tr("total:") + total_space);
}

   托盘菜单项建立完成之后,在建立自己的托盘,包括:托盘图标、托盘提示信息等。
QSystemTrayIcon *system_tray = new QSystemTrayIcon();

//放在托盘提示信息、托盘图标
system_tray ->setToolTip(QString("我就是托盘"));
system_tray ->setIcon(QIcon(":/icon/login"));

TrayMenu *tray_menu = new TrayMenu();
system_tray->setContextMenu(tray_menu);

//点击托盘执行的事件
connect(system_tray , SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconIsActived(QSystemTrayIcon::ActivationReason)));
    connect(tray_menu, SIGNAL(showWidget()), this, SLOT(showNormal()));

//显示托盘
system_tray->show();

//托盘显示提示信息
system_tray->showMessage(QString("托盘标题"), QString("托盘显示内容"));

Qt 自定义菜单 托盘菜单,Qt 界面设置,qt,数据库,java

 文章来源地址https://www.toymoban.com/news/detail-681525.html

到了这里,关于Qt 自定义菜单 托盘菜单的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于QT的参数设置界面

    在一些工业开发的软件中,需要对一些硬件或者算法进行参数的设置,但是QT官方给出的QtTreeProperty控件,在一些程度上,不足以满足我们的需求,比如说,单独的按钮,以及一些选择文件夹和文件路径等。在次基础上,利用QT5.14.2的QTableView控件来制作一款参数设置控件。界面

    2024年02月04日
    浏览(39)
  • Qt界面编程(四)—— QMainWindow(一个菜单栏、多个工具栏、多个停靠部件、一个状态栏、一个中心部件)、资源文件

    目录 1. 菜单栏 2. 工具栏 3. 状态栏 4. 停靠部件(也称为铆接部件、浮动窗口) 5. 核心部件(中心部件) 6. 使用UI文件创建窗口 6.1 UI设计窗口介绍 6.2 菜单栏 6.2.1 添加/删除菜单栏 6.2.2 添加菜单 6.2.3 添加菜单项 6.2.4 添加多级菜单 6.3 工具栏 6.3.1 添加/删除工具栏 6.3.

    2024年01月22日
    浏览(53)
  • Qt系统托盘的学习

    参考: Qt系统托盘程序的实现_qt托盘程序-CSDN博客 QT系统托盘应用程序-CSDN博客 代码:

    2024年01月23日
    浏览(31)
  • Qt之高仿QQ系统设置界面

    QQ或360安全卫士的设置界面都是非常有特点的,所有的配置项都在一个垂直的ScrollArea中,但是又能通过左侧的导航栏点击定位。这样做的好处是既方便查看指定配置项,又方便查看所有配置项。 下面左边是当前最新版QQ的系统设置界面,右边是我的高仿版本,几乎一毛一样

    2024年02月02日
    浏览(40)
  • QT 的桌面应用界面有风格设置

    Qt 的桌面应用界面提供了风格设置的功能。Qt 支持多种风格,可以根据用户的喜好或应用程序的需求来选择适合的风格。 Qt 的风格设置可以通过 QApplication 类的 setStyle() 函数来实现。您可以选择以下几个常用的风格: QWindowsStyle:Windows 风格 QMacStyle:Mac 风格 QFusionStyle:融合风

    2024年02月02日
    浏览(40)
  • Qt系统托盘程序的实现

    一般来说,我们的应用程序都是控制台程序,或者窗口程序,点击应用程序右上角的 关闭 按钮,就会将程序关闭。但是有些应用,例如微信、或者杀毒软件等等,点击关闭按钮后,只是将程序最小化到右下角的菜单栏而已,并没有关闭程序。而要彻底关闭程序,需要点击右

    2023年04月08日
    浏览(30)
  • Qt之界面 自定义标题栏、无边框、可移动、缩放

    注意:由于需要调用 Windows 上的头文件与库,所以不能跨平台,只支持 Windows 系统。如果想要跨平台,可以使用鼠标等事件实现,具体百度搜索参考下 titleBar.h titleBar.cpp widget.h widget.cpp mousePressEvent 之前,我们将界面移动的事件写在主界面里面,这会有一个问题,一般情况下,

    2024年02月05日
    浏览(34)
  • QT最小化程序到托盘运行

    实现程序关闭时最小化托盘的功能 托盘实现显示主页面和退出的功能 支持扩展,直接引用TrayIcon类即可,对外暴露接口 单例实现,可复用 注:博主所有资源永久免费,若有帮助,请点赞转发是对我莫大的帮助 注:博主本人学习过程的分享,引用他人的文章皆会标注原作者

    2024年02月05日
    浏览(51)
  • 【QT入门】 自定义标题栏界面qss美化+按钮功能实现

    往期回顾: 【QT入门】 鼠标按下和移动事件实现无边框窗口拖动-CSDN博客 【QT入门】 设计实现无边框窗口拉伸的公用类-CSDN博客 【QT入门】对无边框窗口自定义标题栏并实现拖动和拉伸效果-CSDN博客 1、实现悬浮样式改变 当鼠标悬浮到该按钮上时,样式会有一定改变。 2、添加

    2024年04月10日
    浏览(73)
  • Qt/C++自定义界面大全/20套精美皮肤/26套精美UI界面/一键换肤/自定义颜色/各种导航界面

    这个系列对应自定义控件大全,一个专注于控件的编写,一个专注于UI界面的编写,程序员有两大软肋,一个是忌讳别人说自己的程序很烂很多bug,一个就是不擅长UI,基本上配色就直接rgb,对于第一点,只要放松心态,直面自己的不足,不断改进,才能问鼎武林至尊。至于第

    2024年01月20日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包