• Qt QSS样式化 菜单Qmenu&QAction


    项目是一款平板上的软件,菜单放在了右下角,没有用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  }
  • 相关阅读:
    JS判断是PC端还是移动端
    js对象转数组
    js获取当前域名、Url、相对路径和参数以及指定参数
    javascript返回上一页的三种写法
    js正则归纳总结
    higtcharts 生成图表个数问题
    js如何处理后台传递过来的Map
    jQuey实现鼠标滑过整行变色
    <display:column>常用属性解释
    <display:table>常用属性解释
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13632908.html
Copyright © 2020-2023  润新知