如何限制QTextEdit接受所有字符的子集?

时间:2014-07-26 12:22:21

标签: qt qtextedit

我需要让QTextEdit只能接受数字,空格和换行符(输入/返回)。我该怎么办?

1 个答案:

答案 0 :(得分:4)

QTextEdit小部件在这里没有提供太多帮助。您需要通过过滤其输入事件和粘贴数据来从外部限制它接受的内容。您很可能需要对小部件进行子类化。

  1. 重新实施event方法并过滤掉进来的击键。将允许的击键传递给QTextEdit::event。确保适当地过滤按键和按键释放(如果有的话)。

    这也可以通过在小部件上安装事件过滤器来完成。

  2. 重新实施insertFromMimeData和/或canInsertFromMimeData,以删除有问题的字符或禁止粘贴非数字输入。