2
我有一個QLineEdit,我用它來獲得雙倍。但是有沒有更合適的方法來獲得它?這是我的代碼。替代QLineEdit獲得雙倍
ui->lineEdit->setValidator(new QIntValidator(this));
QString XMAX=ui->lineEdit->text();
double xmax=XMAX.toDouble();
我有一個QLineEdit,我用它來獲得雙倍。但是有沒有更合適的方法來獲得它?這是我的代碼。替代QLineEdit獲得雙倍
ui->lineEdit->setValidator(new QIntValidator(this));
QString XMAX=ui->lineEdit->text();
double xmax=XMAX.toDouble();
輸入雙精度的規範方式當然是使用QDoubleSpinBox。
如果您堅持使用QLineEdit
,則應該將其與QDoubleValidator
一起使用,而不是QIntValidator
。我只想補充完整性檢查的東西已進入編輯字段:
double xmax;
if (ui->lineEdit->text()->isEmpty())
xmax = numeric_limits<double>::quiet_NaN();
else
xmax = ui->lineEdit->text().toDouble();
使用QDoubleSpinBox我必須有向上和向下箭頭,這是我不想。 – SamuelNLP
@SamuelNLP:好的,然後堅持行編輯。只需使用正確的驗證程序並檢查行編輯是否爲空。 – Mehrwolf
@SamuelNLP擺脫箭頭,你可以簡單地使用'QDoubleSpinBox'的方法'setButtonSymbols(QAbstractSpinBox :: NoButtons)' – Pankrates