项目是一款平板上的软件,菜单放在了右下角,没有用qss设置样式之前,菜单非常的小,菜单项也都挤在了一块,设置样式后效果非常好。
先上一张效果图吧,可以看到QSS样式化后的菜单的特点:上下左右间距增大了,调整到很是的大小,菜单项目中间有一条间隔的横线区分各个菜单项,
菜单中的QAction鼠标经过时菜单背景会变成蓝色等。
实现这种效果如果在Qt中用C++语句实现可能有些困难,我也没有这么做过,后来参考了Qt帮助文档的一些QSS的例子做出了这种效果。
具体实现做法
将一下样式添加到Qt的QSS样式表文件中,要根据你的实际情况调整相应的长宽等值,具体的参数说明下面代码注释中已经说明。如果你想对QSS有个好的了解建议学习一些简单的CSS语法,QSS就是借鉴了CSS,但是比它简单多了,之后你会发现QSS非常简单,而且非常便捷好用,为程序美化开发省下很多时间。
1 /*Qmenu Style Sheets*/
2 QMenu {
3 background-color: white; /* sets background of the menu 设置整个菜单区域的背景色,我用的是白色:white*/
4 border: 1px solid white;/*整个菜单区域的边框粗细、样式、颜色*/
5 }
6
7 QMenu::item {
8 /* sets background of menu item. set this to something non-transparent
9 if you want menu color and menu item color to be different */
10 background-color: transparent;
11 padding:8px 32px;/*设置菜单项文字上下和左右的内边距,效果就是菜单中的条目左右上下有了间隔*/
12 margin:0px 8px;/*设置菜单项的外边距*/
13 border-bottom:1px solid #DBDBDB;/*为菜单项之间添加横线间隔*/
14 }
15
16 QMenu::item:selected { /* when user selects item using mouse or keyboard */
17 background-color: #2dabf9;/*这一句是设置菜单项鼠标经过选中的样式*/
18 }