[干货4]Qt中用QSS样式化菜单(Qmenu&QAction

duck不必菌 duck不必菌 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
本文转自我的博客http://www.hookr.cn/qss-for-qt-style-menu-qmenuqaction.html 欢迎大家多多访问交流
项目是一款平板上的软件,菜单放在了右下角,没有用qss设置样式之前,菜单非常的小,菜单项也都挤在了一块,设置样式后效果非常好。

先上一张效果图吧,可以看到QSS样式化后的菜单的特点:上下左右间距增大了,调整到很是的大小,菜单项目中间有一条间隔的横线区分各个菜单项,

菜单中的QAction鼠标经过时菜单背景会变成蓝色等。



实现这种效果如果在Qt中用C++语句实现可能有些困难,我也没有这么做过,后来参考了Qt帮助文档的一些QSS的例子做出了这种效果。

具体实现做法

将一下样式添加到Qt的QSS样式表文件中,要根据你的实际情况调整相应的长宽等值,具体的参数说明下面代码注释中已经说明。如果你想对QSS有个好的了解建议学习一些简单的CSS语法,QSS就是借鉴了CSS,但是比它简单多了,之后你会发现QSS非常简单,而且非常便捷好用,为程序美化开发省下很多时间。
/*Qmenu Style Sheets*/
QMenu {
background-color: white; /* sets background of the menu 设置整个菜单区域的背景色,我用的是白色:white*/
border: 1px solid white;/*整个菜单区域的边框粗细、样式、颜色*/
}

QMenu::item {
/* sets background of menu item. set this to something non-transparent
if you want menu color and menu item color to be different */
background-color: transparent;
padding:8px 32px;/*设置菜单项文字上下和左右的内边距,效果就是菜单中的条目左右上下有了间隔*/
margin:0px 8px;/*设置菜单项的外边距*/
border-bottom:1px solid #DBDBDB;/*为菜单项之间添加横线间隔*/
}

QMenu::item:selected { /* when user selects item using mouse or keyboard */
background-color: #2dabf9;/*这一句是设置菜单项鼠标经过选中的样式*/
}
...全文

相关推荐

Qt Qss三套样式文件 qss.zip

此文件为Qt Qss三套样式文件,下载后,在工程中引入使用即可。具体可参考博客: https://tangxing.blog.csdn.net/article/details/109160027

超级D洋葱

QT中使用QSS进行界面美化及很好的QSS样式表

一、使用QSS进行界面美化 在qt编辑器中选择窗口----> 改变样式表 —> 输入qss样式代码,可以控制qss对应窗口控件样式,右击 某个控件----> 改变样式表 —>输入qss样式代码,可以控制这个控件的样式。如下: 原来的界面: 加入QSS样式的界面: 二、 很好的QSS样式表 1.https://github.com/GTRONICK/QSS 2. 自...

哲学的天空

Qt之QSS的使用及常用控件的样式设置

原地址:https://mp.csdn.net/mdeditor/101059491 纯干货哦! 什么是QSS Qt Style Sheet简称QSS,Qt的样式表,模仿CSS,为Qt界面设置炫酷的展示效果。 如何使用QSS 推荐使用第二种方式 方式一:在界面中设置 不推荐使用 在编辑器中找到要设置样式的.ui文件,双击该文件,在界面编辑器中显示该文件 在界面编辑器的右侧,右键单击,在弹出的右键...

变成小猪

Qt Qss样式表详解

1         使用Qss设置QT程序界面的样式和皮肤 1.1  Qss的功能 Qt程序界面中控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性可以通过Qss文件来设置,美化UI界面。实现界面和程序的分离,快速切换皮肤。 1.2  QSS基本属性设置 Qss的强大在于组合功能的强大,这里只是简单介绍基本功能,将简单功能组合起来才能实现好看的效果。 Qss背景属性(Backgr

芒种、

Qt 自定义QPushButton样式表(实时生成QSS)

源码可直接编译运行,自定义QPushButton样式,通过选择背景渐变、边框、字体、字号、鼠标移入移出切换、点击态、圆角设置等自动生成样式code,然后调用setStyleSheet()。

我不是君山
评论 6
收藏 已收藏
分享
返回顶部
duck不必菌
Qt 21,503 成员 26,693 内容