首页 > 解决方案 > 自定义 QLineEdit

问题描述

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

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

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

谢谢!

这是我希望它看起来像的屏幕截图。我希望用户只能编辑数字,但不能编辑逗号或括号。

在此处输入图像描述

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

标签: c++qtqwidgetqlineedit

解决方案


正在浏览QLineEdit文件并看到了inputMask财产。看起来这正是我所需要的:

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


推荐阅读