QT之二级菜单

QT之二级菜单QT之二级菜单QT之二级菜单开场白效果图上代码可参考文章下代码结尾开场白今天我们一起来了解下,在我们QT中,二级菜单是如何实现的,在上篇我们学习了QT之系统托盘,QT之自定义菜单,QT之样式styleSheet。今天我们在这基础上,增加二级菜单的功能。效果图大家注意下这里箭头,不是用的默认效果哦,还是自定义的好看哈!O(∩_∩)下面这张图示是默认的。上代码voi

大家好,又见面了,我是你们的朋友全栈君。

QT之二级菜单

开场白

今天我们一起来了解下,在我们QT中,二级菜单是如何实现的,在上篇我们学习了QT之系统托盘,QT之自定义菜单, QT之样式styleSheet。今天我们在这基础上,增加二级菜单的功能。

效果图

menu

大家注意下这里箭头,不是用的默认效果哦,还是自定义的好看哈!O(∩_∩)下面这张图示是默认的。
这里写图片描述

上代码

void SysTray::addSysTrayMenu()
{
    CustomMenu* customMenu = new CustomMenu(m_parent);
    customMenu->addCustomMenu("onGame", TRAY_ICON, tr("onGame"));
    customMenu->addSeparator();
    customMenu->addCustomMenu("onShow", TRAY_ICON, tr("onShow"));
    customMenu->addSeparator();
    customMenu->addCustomMenu("onQuit", CLOSE_MENU, tr("onQuit"));

    //子菜单添加和主菜单都是一样流程。
    CustomMenu* customSubMenu = new CustomMenu(m_parent);
    customSubMenu->addCustomMenu("onBottom", TRAY_ICON_ONDNF, tr("onBottom"));
    customSubMenu->addCustomMenu("onMusic", TRAY_ICON_ONMUSIC, tr("onMusic"));
    customSubMenu->addCustomMenu("onFire", TRAY_ICON_ONFIRE, tr("onFire"));
    customSubMenu->addCustomMenu("onCar", TRAY_ICON_ONCAR, tr("onCar"));
    customSubMenu->addCustomMenu("onLol", TRAY_ICON_ONLOL, tr("onLol"));
    //关键在这里,为QQ游戏添加子菜单。
    customMenu->getAction("onGame")->setMenu(customSubMenu);

    connect(customMenu->getAction("onShow"), SIGNAL(triggered(bool)), m_parent, SLOT(onShowNormal()));
    connect(customMenu->getAction("onQuit"), SIGNAL(triggered(bool)), m_parent, SLOT(onShowQuit()));
    customMenu->exec(QCursor::pos());
    delete customMenu;
    delete customSubMenu;
}
//自定义效果图
QMenu {
    border-width:2;
    border-image:url(:/Demo/Resources/common_menuborder.png);
}
QMenu::item { padding: 6px 24px 6px 28px;
}

QMenu::icon { padding: 0px 0px 0px 9px;
}

QMenu::separator { margin-left:24;
    margin-right:4;
    border-image: url(:/Demo/Resources/menu_separate.png);
}
QMenu::item:selected { border-image:url(:/Demo/Resources/menu_hover.png);
    padding: 6px 24px 6px 28px;
}
QMenu::item:hover { border-image:url(:/Demo/Resources/menu_hover.png);
    padding: 6px 24px 6px 28px;
}

QMenu::right-arrow { image: url(:/Demo/Resources/common/arrow_up.png);
}

可参考文章

QT之系统托盘
QT之自定义菜单
QT之样式styleSheet

下代码

QT二级菜单

结尾

只为记录,只为分享! 愿所写能对你有所帮助。Good Good Study, Day Day Up!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135833.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python正则匹配数字或者汉字

    python正则匹配数字或者汉字1、正则匹配汉字importrestr1=’hjggj小vjjk明’pat=re.compile(r'[\u4e00-\u9fa5]+’)result=pat.findall(str1)print(result)#输出[‘小’,’明’]2、正则匹配数字importrere.findall(r’\d+’,’hello42I’ma32string30…

    2022年6月16日
  • C语言 图书销售管理系统[通俗易懂]

    C语言 图书销售管理系统[通俗易懂]C语言图书销售管理系统

    2022年5月2日
  • hdu 5685

    hdu 5685

    2021年5月26日
  • pycharm2020.3.4安装教程_python安装pycharm的方法

    pycharm2020.3.4安装教程_python安装pycharm的方法Pycharm2020安装及使用和python3.9的安装以及使用python3.9环境安装及使用python下载:推荐网址:https://www.python.org/getit/建议:在官网上下载python,在其它下载,一般是有捆绑软件python安装打开界面,选上ADDpython3.9topath,就是吧python环境变量加到电脑上。​2.我这里卸载后在安装的​3.这里可以更改软件路径,建议像我这样勾4.安装成

    2022年8月25日
  • mysql批量写入_mysql insert多条数据

    mysql批量写入_mysql insert多条数据最近新的项目写了不少各种insertBatch的代码,一直有人说,批量插入比循环插入效率高很多,那本文就来实验一下,到底是不是真的?测试环境:SpringBoot2.5 Mysql8 JDK8 Docker首先,多条数据的插入,可选的方案:foreach循环插入 拼接sql,一次执行 使用批处理功能插入搭建测试环境`sql文件:dropdatabaseIFEXISTStest;CREATEDATABASEtest;usetest;DROPT

    2022年10月6日
  • Android 3D画廊采用Gallery实现无限循环、自动轮播

    Android 3D画廊采用Gallery实现无限循环、自动轮播公司最近有一个需求,是打算做一个轮播图的展示界面,不过和传统意义上不同,并非是在手机app的顶部展示几张定时切换的固定大小宽高的图片,而是中间长方形,两边向里倾斜,形成对称感的特殊界面,如下图:需要实现功能:无限循环,自动跳转,倒影效果。(原本的企划是动画轮播的时候,下面会呈现一条Listview,里面会因为展示的不同界面而呈现不同的内容,但是后面放弃了。)下面开始上代码:

    2022年6月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号