问题背景:

多语言翻译时,有些翻译文本内容过长,无法全部显示出来,需要改变部分按钮字体的大小。在针对有多级结构的风格设置时,代码中调用setStyleSheet不生效。如下图:

Qt中ui界面的stylesheet转换为代码设置-LMLPHP

直接将样式表中的内容复制到qstring字符串变量中,界面样式没有变化。

解决方法:

使用R前缀修饰字符串字面量(raw string literal)的主要作用是允许字符串中包含反斜杠(\)活着换行(\n)而无需对其进行转义。这对于处理正则表达式、文件路径、Windows风格的文件名等包含大量反斜杠的场景特别有用。

QString btn_ES_Style = R"(
QToolButton:checked
{
    color:white;
    background-color:#1E90FF;
}
QToolButton{
background-position: right;

text-align: left;
padding-left:5px;
font-size: 10px;

border:0px solid gray;
color:white;
}
)";


ui.btn****->setStyleSheet(btn_ES_Style);

注:需将有效样式表中的内容整体复制过来,不可有改动,否则可能会设置不生效;

04-27 04:18