C++ 如何使用QDoubleValidator设置验证器?(QValidator)
我现在有一个名为EditBox的类,它继承自Qwidget和QTextEdit 我正在尝试为这个文本编辑框设置一个验证器C++ 如何使用QDoubleValidator设置验证器?(QValidator),c++,c,qt,C++,C,Qt,我现在有一个名为EditBox的类,它继承自Qwidget和QTextEdit 我正在尝试为这个文本编辑框设置一个验证器 EditBox manbox; 如何将验证器设置为0~100?小数点后2 我试过了 QDoubleValidator *testQD = new QDoubleValidator(manbox); testQD->setRange(0.00,100.00,2); QLineEdit *sb1 = new QLineEdit( manbox ); sb1->se
EditBox manbox;
如何将验证器设置为0~100?小数点后2
我试过了
QDoubleValidator *testQD = new QDoubleValidator(manbox);
testQD->setRange(0.00,100.00,2);
QLineEdit *sb1 = new QLineEdit( manbox );
sb1->setValidator(testQD);
但似乎不起作用。哪里出了问题
或者请引导我到某个地方,我可以找到这一个完整的教程。
谢谢 您不能为
QTextEdit
设置验证器,它只适用于QLineEdit
(以及包含QLineEdit
的输入小部件,如QSpinBox
,QComboBox
)
如果您只需要一行,并且将内容限制为一个数字,那么您也可以用
QLineEdit
或QDoubleSpinBox
来替换类QTextEdit
中的QTextEdit
,因为您不能为QTextEdit
设置验证器,它只适用于QLineEdit
(以及包含QLineEdit
的输入小部件,如QSpinBox
,QComboBox
…)
如果您只需要一行,并且将内容限制为一个数字,那么您也可以用
QLineEdit
或QDoubleSpinBox
来替换类QTextEdit
中的QTextEdit
,您首先会说您的类继承了QTextEdit,但随后您会在QLineEdit上设置一个验证器。这是什么呢?还有,您可以这样说吗请更具体地说明“似乎不起作用”?什么意思是EditBox
在QWidget和QTextEdit之后继承?它使用多重继承吗?您不能在QTextEdit对象上设置验证器。在您的示例中,验证器是为sb1
QLineEdit设置的。您只为其父类设置manbox
。您可以说您的类继承了QTextEdit,但随后就设置好了在QLineEdit上设置验证程序。是哪一个?另外,您能更具体地说明“似乎不起作用”吗?在QWidget和QTextEdit之后,EditBox
继承意味着什么?它使用多重继承吗?您不能在QTextEdit对象上设置验证器。在您的示例中,验证器是为sb1
QLineEdit设置的。您只为其父对象设置了manbox
。