Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 带有QTextEdit的QRegExpValidator_C++_Qt - Fatal编程技术网

C++ 带有QTextEdit的QRegExpValidator

C++ 带有QTextEdit的QRegExpValidator,c++,qt,C++,Qt,QRegExpValidator可以与QTextEdit小部件一起使用吗 我尝试通过setValidator()实现,还将qtextedit设置为父对象。但是它不起作用。你应该使用 virtual QValidator::State QRegExpValidator::validate(QString&input,int&pos)const或bool QRegExp::exactMatch(const QString&str)const。这应该不难,您只需要确定从何处开始验证。您可以执行以下操作

QRegExpValidator可以与QTextEdit小部件一起使用吗

我尝试通过setValidator()实现,还将qtextedit设置为父对象。但是它不起作用。

你应该使用

virtual QValidator::State QRegExpValidator::validate(QString&input,int&pos)const


bool QRegExp::exactMatch(const QString&str)const

。这应该不难,您只需要确定从何处开始验证。

您可以执行以下操作

  • 定义另一个在调用textChanged()信号时调用的插槽 发出
  • 发出带有两个参数的信号(qtextedit中的数据和 相同数据的长度)
  • 将validate()插槽与上述插槽连接

你的意思是
QLineEdit
?我在
QTextEdit
类中没有看到
setValidator()
方法。从
QLineEdit
开始,验证程序应该可以正常工作,需要更多信息来查看错误所在。我需要在qtexedit中使用。我也没有看到setValidator()函数。所以,我想要一些实现的示例(这可以用任何其他方式使用吗?)。你能给我一些示例或链接,所有这些事情都已经完成了吗?只有当你可以用qtextedit设置验证器时,才能调用validate()。我不能提供任何示例,但应该很容易将你的插槽连接到
textChanged()
signal(或任何您想成为验证触发器的事件)并调用
QRegExpValidator::validate()
(我确信它可以在不将验证器设置为QTextEdit的情况下使用)或
QRegExp::exactMatch()
。您需要自己向用户提供验证状态的信息。所有这些都应该很容易实现