【问题标题】:Customizing QLineEdit自定义 QLineEdit
【发布时间】:2018-07-16 20:21:01
【问题描述】:

我已经阅读了一些帖子,但没有一篇适用于我想做的事情。我需要一个 QLineEdit 来编辑一个数字向量(假设是一个 3 个双精度数的向量)。我想在QLineEdit 的括号中表示我的向量,并用逗号分隔向量元素。所以如果QLineEdit被设置为编辑一个5个元素的向量,它的内容应该是这样的——(1, 2, 3, 4, 5)。用户应该能够编辑数字,但显然不能触摸括号或逗号,因为它们是分隔符。

实现这一目标的最佳方法是什么?我想到的一件事是拥有与向量中的元素一样多的QLineEdits,但让用户看起来好像它是一个QLineEdit. 在读取的QLineEdit 控件之间插入逗号-只要。括号也可以。

您认为这是最好的方法还是有更好的方法?

谢谢!

这是我想要的屏幕截图。我希望用户只能编辑数字,但不能编辑逗号或括号。

附:我刚刚意识到我提供的解决方案需要很长时间才能实施,而且它有很多边缘情况。因为我必须为每个 QLineEdit 分配一定的空间,然后变成数字可以更长,它们必须调整大小,当数字变短时也是如此。

【问题讨论】:

    标签: c++ qt qwidget qlineedit


    【解决方案1】:

    正在浏览QLineEdit 文档并看到inputMask 属性。看来这正是我所需要的:

    http://doc.qt.io/qt-5/qlineedit.html#inputMask-prop

    【讨论】:

      【解决方案2】:

      对此没有理想的解决方案。我喜欢的是一个可以调出编辑器的按钮。请注意“灰色”表示它不可直接编辑。

      这是一个调用编辑器的示例。它为每个项目提供了一个编辑元素。

      【讨论】:

      • 您是在使用带有样式表的普通 Qt,还是在 Qt 之上构建的一些框架?
      • 只是用来说明这个想法的 UI 截图。
      • 好的,但是你是如何制作 UI 的?
      • 我没有。用户界面来自 Helium 音乐管理器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多