自定义QLineEdit

时间:2018-07-16 20:21:02

标签: c++ qt qwidget qlineedit

我已经阅读了一些帖子,但都没有应用于我想做的事情。我需要一个QLineEdit来编辑数字的向量(比方说3个双打的向量)。我想在QLineEdit中用括号表示我的向量,并用逗号分隔向量元素。因此,如果QLineEdit设置为编辑5个元素的向量,则其内容应为-(1、2、3、4、5)。用户应该可以编辑数字,但显然不能触摸括号或逗号,因为它们是分隔符。

实现此目标的最佳方法是什么?我想到的一件事是,向量中的元素数量与QLineEdits一样多,但让用户看到的好像是QLineEdit.一样,在{{1 }}控件为只读。括号也可以做到这一点。

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

谢谢!

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

enter image description here

P.S。我只是意识到,我提供的解决方案将花费大量时间来实施,并且具有很多优势。因为我必须为每个QLineEdit分配一定的空间,然后数字才能变长,因此必须重新调整大小,数字变短时也是如此。

2 个答案:

答案 0 :(得分:3)

正在遍历QLineEdit文档并看到了inputMask属性。看来正是我所需要的:

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

答案 1 :(得分:1)

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

Edit

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

enter image description here