c++ - 自定义 QLineEdit

标签 c++ qt qwidget qlineedit

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

实现此目标的最佳方法是什么?我想到的一件事是 QLineEdits 与 vector 中的元素一样多,但要让用户看到它就像一个 QLineEdit。 插入逗号在只读的 QLineEdit 控件之间。同样可以用括号来完成。

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

谢谢!

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

enter image description here

附言我刚刚意识到我提供的解决方案将花费大量时间来实现,并且它有很多边缘案例。因为我必须为每个 QLineEdit 分配一定的空间,然后数字会变长,所以它们必须调整大小,当数字变短时也是如此。

最佳答案

正在查看 QLineEdit 文档并看到了 inputMask 属性。看起来这正是我需要的:

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

关于c++ - 自定义 QLineEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51369557/

相关文章:

c++ - VS 2010 中的复数问题

c++ - std::reference_wrapper 是否应该包含默认比较器 "<"运算符?

c++ - 由于某种原因正在更改变量

javascript - 在 QtWebkit 中禁用拖放

qt - 独立窗口 : a QDialog, QWindow 或 QMainWindow 与 Qt 一起使用什么?

c++ - 在 Qt 中如何从另一个文件中的函数访问小部件?

c++ - 将临时变量写入自己的新变量是否更好?

qt - QPixmap和SVG

qt - 使用 QMake 为 'make check' 设置 PATH/LD_LIBRARY_PATH

python - 在 QWidget (pyqt5) 上的 QPixmap 上绘制点