草庐IT

Qt样式表之 QSS 语法介绍;QLineEdit、

Lee Neo 2025-05-27 原文

 内容来自Qt样式表之 QSS 语法介绍-3YL的博客

Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件。Qt样式表的概念、术语和语法都受到了HTML的层叠样式表(Cascading Style Sheets, CSS 教程)的启发,不过与CSS不同的是,Qt样式表应用于部件的世界。

类型选择器QPushButton匹配QPushButton及其子类的实例
ID选择器QPushButton#okButton匹配所有objectName为okButton的QPushButton实例。

 CSS常用样式

1 CSS文字属性

注:px:相对长度单位,像素(Pixel)。pt:绝对长度单位,点(Point)。

CSS文字属性及示例说明
color:#999999;文字颜色
font-family:Microsoft Yahei,sans-serif;字体家族
font-size:16pt;字体大小
font-style:itelic;(normal、oblique)字体样式
letter-spacing:1pt;字间距离
line-height:200%;设置行高
font-weight:bold;(lighter、normal、数值900)字体粗细
text-decoration:underline;(line-through、overline、none)字体修饰
text-align:left;(right、center、justify)文字左对齐
vertical-align:top;(bottom、middle、text-top、text-bottom)垂直对齐方式
text-transform:uppercase;(lowercase、capitalize)英文大写
font-variant: small-caps;(normal)小型大写字母

2 CSS背景样式:

CSS背景样式及示例说明
background:black;背景颜色为黑色
background-color:#F5E2EC;背景颜色
background-image:url(/image/bg.gif);背景图片

border-image:url(:/icons/pulldown.png)

部件背景图片
background:transparent;透视背景
background-repeat : repeat;重复排列-网页默认
background-position : center;指定背景位置-居中对齐

CSS边框空白

CSS边框空白及示例说明
padding:5px 10px 5px 10px;所有边框留空白
padding-top:10px;上边框留空白
padding-right:10px;右边框留空白
padding-bottom:10px;下边框留空白
padding-left:10px;左边框留空白

 CSS框线

CSS框线建议书写方式说明
border:1px solid red;所有边框线
border-top:1px solid #6699cc;上框线
border-bottom:1px solid #6699cc;下框线
border-left:1px solid #6699cc;左框线
border-right:1px solid #6699cc;右框线
border-radius:8px;

边框圆角半径

border:none;无边框

以上是建议书写方式,但也可以使用常规书写方式,如下表所示:

CSS框线常规书写方式说明
border-top-color:#369;设置上框线颜色
border-top-width:1px;设置上框线宽度
border-top-style:solid设置上框线样式

其他框线样式如下:

  • solid - 实线

  • dotted - 虚线

  • double - 双线

  • inset - 凹框

  • outset - 凸框

  • groove - 立体内凸框

  • ridge - 立体浮雕框

5 CSS边界样式

CSS边界样式及示例说明
margin-top:10px;上边界值
margin-right:10px;右边界值
margin-bottom:10px;下边界值
margin-left:10px;左边界值

1 通过设置样式控制不同显示效果

/*按钮普通态*/QPushButton
{    /*字体为微软雅黑*/
    font-family:Microsoft Yahei;    /*字体大小为20点*/
    font-size:20pt;    /*字体颜色为白色*/    
    color:white;    /*背景颜色*/  
    background-color:rgb(14 , 150 , 254);    /*边框圆角半径为8像素*/ 
    border-radius:8px;
}/*按钮停留态*/QPushButton:hover
{    /*背景颜色*/  
    background-color:rgb(44 , 137 , 255);
}/*按钮按下态*/QPushButton:pressed
{    /*背景颜色*/  
    background-color:rgb(14 , 135 , 228);    /*左内边距为3像素,让按下时字向右移动3像素*/  
    padding-left:3px;    /*上内边距为3像素,让按下时字向下移动3像素*/  
    padding-top:3px;
}

注:注释只能使用/* */#//均无效。

"QQ号码/手机/邮箱"的设置通过placeHoldText设置;可以实现输入灰字消失的效果;

有关Qt样式表之 QSS 语法介绍;QLineEdit、的更多相关文章

  1. ruby - 树顶语法无限循环 - 2

    我脑子里浮现出一些关于一种新编程语言的想法,所以我想我会尝试实现它。一位friend建议我尝试使用Treetop(Rubygem)来创建一个解析器。Treetop的文档很少,我以前从未做过这种事情。我的解析器表现得好像有一个无限循环,但没有堆栈跟踪;事实证明很难追踪到。有人可以指出入门级解析/AST指南的方向吗?我真的需要一些列出规则、常见用法等的东西来使用像Treetop这样的工具。我的语法分析器在GitHub上,以防有人希望帮助我改进它。class{initialize=lambda(name){receiver.name=name}greet=lambda{IO.puts("He

  2. ruby - 如何使用文字标量样式在 YAML 中转储字符串? - 2

    我有一大串格式化数据(例如JSON),我想使用Psychinruby​​同时保留格式转储到YAML。基本上,我希望JSON使用literalstyle出现在YAML中:---json:|{"page":1,"results":["item","another"],"total_pages":0}但是,当我使用YAML.dump时,它不使用文字样式。我得到这样的东西:---json:!"{\n\"page\":1,\n\"results\":[\n\"item\",\"another\"\n],\n\"total_pages\":0\n}\n"我如何告诉Psych以想要的样式转储标量?解

  3. ruby - 如何在 Ruby 中拆分参数字符串 Bash 样式? - 2

    我正在为一个项目制作一个简单的shell,我希望像在Bash中一样解析参数字符串。foobar"helloworld"fooz应该变成:["foo","bar","helloworld","fooz"]等等。到目前为止,我一直在使用CSV::parse_line,将列分隔符设置为""和.compact输出。问题是我现在必须选择是要支持单引号还是双引号。CSV不支持超过一个分隔符。Python有一个名为shlex的模块:>>>shlex.split("Test'helloworld'foo")['Test','helloworld','foo']>>>shlex.split('Test"

  4. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  5. ruby - 覆盖相似的方法,更短的语法 - 2

    在Ruby类中,我重写了三个方法,并且在每个方法中,我基本上做同样的事情:classExampleClassdefconfirmation_required?is_allowed&&superenddefpostpone_email_change?is_allowed&&superenddefreconfirmation_required?is_allowed&&superendend有更简洁的语法吗?如何缩短代码? 最佳答案 如何使用别名?classExampleClassdefconfirmation_required?is_a

  6. ruby 语法糖 : dealing with nils - 2

    可能已经问过了,但我找不到它。这里有2个常见的情况(对我来说,在编程Rails时......)用ruby​​编写是令人沮丧的:"astring".match(/abc(.+)abc/)[1]在这种情况下,我得到一个错误,因为字符串不匹配,因此在nil上调用[]运算符。我想找到的是比以下内容更好的替代方法:temp="astring".match(/abc(.+)abc/);temp.nil??nil:temp[1]简而言之,如果不匹配,则简单地返回nil而不会出错第二种情况是这样的:var=something.very.long.and.tedious.to.writevar=some

  7. ruby-on-rails - 添加回形针新样式不影响旧上传的图像 - 2

    我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司

  8. ruby - Ruby 语法糖有 "rules"吗? - 2

    我正在学习Ruby的基础知识(刚刚开始),我遇到了Hash.[]method.它被引入a=["foo",1,"bar",2]=>["foo",1,"bar",2]Hash[*a]=>{"foo"=>1,"bar"=>2}稍加思索,我发现Hash[*a]等同于Hash.[](*a)或Hash.[]*一个。我的问题是为什么会这样。是什么让您将*a放在方括号内,是否有某种规则可以在何时何地使用“it”?编辑:我的措辞似乎造成了一些困惑。我不是在问数组扩展。我明白了。我的问题基本上是:如果[]是方法名称,为什么可以将参数放在括号内?这看起来几乎——但不完全是——就像说如果你有一个方法Foo.d

  9. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  10. Qt Designer的简单使用 - 2

    在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用C++代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了。用C++代码编写图形界面的问题就是不直观,因此Qt项目开发了专门的可视化图形界面编辑器——QtDesigner(Qt设计师)。通过QtDesigner就可以很方便地创建图形界面文件*.ui,然后将ui文件应用到源代码里面,做到“所见即所得”,大大方便了图形界面的设计。本节就演示一下QtDesigner的简单使用,学习拖拽控件和设置控件属性,并将ui文件应用到Qt程序代码里。使用QtDesigner设计界面在开始菜单中找到「Q

随机推荐