【问题标题】:QtDesigner setting font sizes to -1QtDesigner 将字体大小设置为 -1
【发布时间】:2021-04-07 03:49:21
【问题描述】:

我使用 qt 设计器制作了一个我使用 pyuic5 转换的 ui 文件。但是,我遇到的问题在于 qt 设计器本身。

问题

我遇到的问题是使用“字体大小:36px”(或任何像素大小)的样式表(在 qt 设计器中设置)属性时。当我在设计器中设置此字体大小属性时,设计器本身的“字体”属性会自动设置为 -1 并且无法更改。这会在程序运行时出现以下错误QFont::setPointSize: Point size <= 0 (-1), must be greater than 0

运行程序没有遇到任何问题,但是错误信息出现的频率很高,我想避免。

answer here 建议从 ui 文件本身中删除字体属性,但我想尽可能避免这种情况,因为我担心这会导致问题。我已尝试单击选项以按照它的建议重置字体,但该按钮显示为灰色(它已经处于默认状态,但仍处于 -1 状态)。这里的答案还说它与样式表无关,但是如果我从样式表中删除字体大小,则字体不再停留在-1。我已经确认这发生在不同的文件上,并且在设置样式表时发生。

我的问题

所以,我的问题是我可以在 qt 设计器中修复这个错误,还是必须从我的 ui 文件中删除字体属性。

【问题讨论】:

    标签: python pyqt5 qt5 qt-designer


    【解决方案1】:

    解决我的问题的方法很简单,就是在样式表中使用pt 而不是px。是的,就是这样。现在再次调整我所有的字体大小。

    我不知道为什么 px 会导致 qt 设计器样式表出现问题,所以如果有人阅读本文,请分享,因为我找不到答案。

    【讨论】:

    • QtDesigner 在很多方面都受限于它所理解的内容。有根据的猜测:QtDesigner 试图巧妙地将您的样式表转换为属性。解析器为字体大小返回 -1,因为它应该返回 pt,但它不能。使用其结果重写字体属性的代码错过了对 -1 的检查。总的来说,这是一个错误,您可以向 Qt 项目提交错误报告。然而,我向他们提交错误的经验对于他们的回应(或缺乏回应)喜忧参半。
    • 如果您的体验是负面的,我想我会留下它,但如果其他人碰巧遇到同样的事情,我想在这里解决这个问题,因为我花了一段时间才弄清楚。是的,您的猜测可能是正确的,感谢您的回复
    • @ypnos 有人对上述问题投了反对票,但没有提出改进建议,你知道我该如何改进吗?
    • 我不知道,有些人就是喜欢这样做。我不会花太多心思在这上面。
    • 好的,谢谢,4 个月后这很奇怪
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2020-06-12
    • 2017-04-29
    • 2014-10-21
    • 1970-01-01
    相关资源
    最近更新 更多