【问题标题】:Qt stylesheet ignored at runtimeQt 样式表在运行时被忽略
【发布时间】:2018-03-22 18:17:48
【问题描述】:

我正在尝试使用如下样式表设置单选按钮指示器的大小:

QRadioButton::indicator { 
    width: 25px; 
    height: 25px;
}

在设计器中,这会正确显示。但是,当我实际运行应用程序时,指标会恢复到正常大小。样式表中的所有其他条目在运行时正确显示。为什么样式表的这一部分在设计器中工作但在运行时不工作?我该如何解决?我的应用程序中没有其他样式表会影响单选按钮。

单选按钮在设计器中的显示方式:

单选按钮在运行时的显示方式:

尺寸有点奇怪,抱歉。但是您可以清楚地看到,相对于设计师拍摄的图片中的文字而言,该指标要大得多。

【问题讨论】:

  • 你设置样式了吗?试试app->setStyle("fusion");
  • @eyllanesc 我把那行放在我的 main.cpp 中,它似乎没有任何区别
  • 您可以将您在 Qt 设计器中获得的图像放置在您发现问题的位置。
  • @eyllanesc 我在问题中添加了屏幕截图。你是这个意思吗?
  • 你的操作系统是什么?

标签: qt qt-creator qtstylesheets


【解决方案1】:

在使用设计器时,您需要寻找很多东西。

现在快速检查。

//Add this lines and try again
QRadioButton *obj = new QRadioButton()

obj->setObjectName("test");

//If your using qss/css file for styling things...
#test QRadioButton::indicator { 
width: 25px; 
height: 25px;
}

更多输入... 附加到 QRadioButton 的文本的字体大小也会检查更多像素的变化,并检查小部件显示的更改类型。

希望这会对你有所帮助。

【讨论】:

  • 如果我添加一条线来指定边框以及宽度和高度,它会在运行时正确显示。 QRadioButton::indicator { width: 50px; height: 50px; border: 1px solid darkgray; } 关于为什么指定边框很重要的任何想法?
猜你喜欢
  • 1970-01-01
  • 2014-01-01
  • 1970-01-01
  • 2016-07-24
  • 2018-08-04
  • 2013-03-16
  • 1970-01-01
  • 2018-02-06
  • 2014-03-10
相关资源
最近更新 更多