【问题标题】:Adding unit to a QLCDNumber将单位添加到 QLCDNumber
【发布时间】:2016-07-01 09:53:31
【问题描述】:

我想扩展 QLCDNumber 以显示单位(如旧计算器中的 Deg/Rad/Grad 选择器)以及数字。正如我在高级中看到的那样,为了独立于样式,应该扩展绘图区域但限制 QLCDNumber 在扩展区域上绘图。然后绘制所需的。

另一种方法是使用没有框架的 QLCDNumber 创建复合小部件,并让复合小部件填充相同的背景颜色并在 QLCDNumber 之外绘制附加文本。

然而,另一种方法是重载 setValue() s.t。最后一位为空,然后在那里绘制单位(甚至在里面使用 QLabel)。

让事情发挥作用并尽可能独立于风格的最佳方式是什么?

谢谢!

【问题讨论】:

    标签: python c++ qt pyqt qlcdnumber


    【解决方案1】:

    如果您不介意数字区域内显示的单位,并且您对QLCDNumber 已经提供的字符感到满意,您可以预先格式化您的数字+单位文本并将其设置为as string

    否则,我建议将 QLCDNumberQLabel 小部件打包到具有水平布局的自定义复合小部件中,您可以提供所需的方法,例如。 g.

    setValue(int value, const QString& units);
    

    【讨论】:

    • 不,我需要它相对紧凑。就像在getapkandroid.com/wp-content/uploads/2014/11/131.jpg 中一样,可能放在一边,不高于但紧凑。我可以为 3 个字母的单位“牺牲”一位数字空间,但不能更多。
    • @fAX 好吧,即使您需要它紧凑,如果您想让 Qt 完成所有样式工作而不是自己绘制它,恕我直言,您仍然需要使用 QLabel 合二为一方式或其他;您只需将其缩小并设置适当的字体。让标签覆盖最后(空)数字应该是可能的,但需要付出一些努力来获得正确的位置和大小(尤其是在使用动态窗口布局时);如果我愿意,我可能会努力保持简单并创建一个具有内部布局的复合小部件。
    猜你喜欢
    • 2020-05-07
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2016-11-08
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    相关资源
    最近更新 更多