C++ Qt C++;:行编辑仅接受字母数字字符、破折号和下划线
我正在寻找一种方法,将行编辑限制为只接受字母数字字符、破折号和下划线(整行中可能只有一个破折号和一个下划线),而不接受空格。我在看RegExp,但后来我离开了这个选项,因为我发现一些博客文章解释说RegExp真的很慢。现在我不知道什么是限制行编辑的最佳方法,所以输出应该是我想要的C++ Qt C++;:行编辑仅接受字母数字字符、破折号和下划线,c++,regex,qt,qlineedit,qregexp,C++,Regex,Qt,Qlineedit,Qregexp,我正在寻找一种方法,将行编辑限制为只接受字母数字字符、破折号和下划线(整行中可能只有一个破折号和一个下划线),而不接受空格。我在看RegExp,但后来我离开了这个选项,因为我发现一些博客文章解释说RegExp真的很慢。现在我不知道什么是限制行编辑的最佳方法,所以输出应该是我想要的 您向我推荐什么?您应该阅读函数QLineEdit::setValidator文档和类QValidator文档。您可以定义自己的验证程序类(继承QValidator)并将其对象实例传递给QLineEdit对象(使用set
您向我推荐什么?您应该阅读函数QLineEdit::setValidator文档和类QValidator文档。您可以定义自己的验证程序类(继承QValidator)并将其对象实例传递给QLineEdit对象(使用setValidator函数)。“该RegExp非常慢”:您正在检查行编辑的输入,该行编辑通常是由人输入的两个字符。我怀疑QRegExp是否会成为瓶颈。