【问题标题】:Qt StyleSheet Text AlignmentQt StyleSheet 文本对齐
【发布时间】:2013-09-28 06:52:26
【问题描述】:

我正在尝试更改 QGroupbox 的外观。问题在于它的边界。更改样式表后,组框的文本不再与边框对齐。如何解决?

在第一张图片中,边框与文字对齐良好:

这个QGroupBox相关的样式表是这样的:

QGroupBox{
background-color: rgb(0,80,120);
color: white;
font: 14pt "MS Shell Dlg 2";
font: bold;
text-align:center;
}

第二张图片中,边框与文字底部对齐:

上面QGroupBox相关的样式表是这样的:

QGroupBox{
background-color: rgb(0,80,120);
color: white;
font: 14pt "MS Shell Dlg 2";
font: bold;
text-align:center;
border-color: rgb(255,255,255);
border-width: 2px;
border-style: solid;
border-radius: 9px;
padding: 2px;
}

如您所见,当我添加与边框相关的参数时,文本对齐方式会发生某种变化。我想要第一种样式,但文本与边框正确对齐。怎么了?

谢谢。

【问题讨论】:

  • 实际上损坏的不是文本而是边框。它从顶部缩进移动到上边缘。

标签: qt qtstylesheets


【解决方案1】:

没有错。但是你应该调整边距/填充。和子控件。我建议你阅读Qt stylesheet reference

【讨论】:

  • 错了,加个边框:2px solid;并且您将看到在标题上方而不是在标题旁边绘制边框,而不会移动标题。
  • Qt 中的 QSS - 它是魔法之王。我在调整所有边框、边距和填充上浪费了很多时间。所以只能提议做实验。
  • @SebastianLange 添加属性“border: 2px solid”没有帮助。边框在标题上方向上移动。
  • 我评论了帖子,说 2px 实体破坏了边框,这不是解决办法,如有误解,请见谅
  • 这个问题可以通过在 StyleSheet 中添加一个项目来解决: QGroupBox::title { subcontrol-origin: margin;子控制位置:左上角;填充:0;感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
  • 1970-01-01
  • 2015-02-12
  • 2020-05-23
  • 2017-02-17
相关资源
最近更新 更多