Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Qt 如何正确地将QValidator*转换为QDoubleValidator*_Qt_Casting - Fatal编程技术网

Qt 如何正确地将QValidator*转换为QDoubleValidator*

Qt 如何正确地将QValidator*转换为QDoubleValidator*,qt,casting,Qt,Casting,在这段代码中,edit_scltratio是一个QLineEdit。如何在不使用旧式转换的情况下将其验证程序用作QDoubleValidator: (QDoubleValidator*)_ui->edit_sclratio->validator() //This works fine 但我想使用适当的强制转换,静态、动态、常量和重新解释强制转换都不起作用。错误总是“丢弃了限定符” QDoubleValidator* validator = static_cast<QDoubl

在这段代码中,edit_scltratio是一个QLineEdit。如何在不使用旧式转换的情况下将其验证程序用作QDoubleValidator:

(QDoubleValidator*)_ui->edit_sclratio->validator() //This works fine
但我想使用适当的强制转换,静态、动态、常量和重新解释强制转换都不起作用。错误总是“丢弃了限定符”

QDoubleValidator* validator = static_cast<QDoubleValidator*>(_ui->edit_sclratio->validator());
QDoubleValidator*validator=static\u cast(\u ui->edit\u scltratio->validator());
错误总是“丢弃了限定符”

QDoubleValidator* validator = static_cast<QDoubleValidator*>(_ui->edit_sclratio->validator());
这里讲的是常量限定符

QDoubleValidator* validator = static_cast<QDoubleValidator*>(_ui->edit_sclratio->validator());
QLineEdit::validator()
返回一个
const QValidator*
,因此必须将其强制转换为
const QDoubleValidator*

注意:我建议您养成对继承
QObject
(如
QValidator
)的类使用的习惯。如果您试图强制转换到错误的类型,它还可以返回
nullptr
;这允许您执行运行时错误检查