Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: alertforce от Апрель 30, 2011, 12:08



Название: Проверка на ввод
Отправлено: alertforce от Апрель 30, 2011, 12:08
Подскажите, пожалуйста, как можно проверить ввёл ли пользователь данные в lineEdit или нет?


Название: Re: Проверка на ввод
Отправлено: Fat-Zer от Апрель 30, 2011, 12:21
if(lineEdit->text().isEmty())
{
  //не введены
}

ещё QLineEdit::isModified ()


Название: Re: Проверка на ввод
Отправлено: alertforce от Апрель 30, 2011, 12:58
а вот тут как это можно реализовать?

void kat::on_pushButton_3_clicked()
{
    float D1,D2,m,L,w,h,a,b;
     D1=ui->lineEdit_6->text().toFloat();
     D2=ui->lineEdit_9->text().toFloat();
     h=ui->lineEdit_11->text().toFloat();
     m=ui->lineEdit_15->text().toFloat();
     w=ui->lineEdit_12->text().toFloat();
     L=ui->lineEdit_14->text().toFloat();

     /проверка если в lineEdit_14 не ввели данные значит/

     a=(w*w*m*h*(D1-D2));
     b=250000*(D1+D2);
     L=a/b*100;
     ui->lineEdit_14->setText(QString("%1").arg(L));
 
     /если не ввели в lineEdit_12 тогда/    

     w=500*pow(L*(D1+D2)/(m*h*(D1-D2)),2);
     ui->lineEdit_12->setText(QString("%1").arg(w));
}


Название: Re: Проверка на ввод
Отправлено: NortT от Апрель 30, 2011, 13:16
   //проверка если в lineEdit_14 не ввели данные значит/
if(lineEdit_14->text().isEmty())
{
     a=(w*w*m*h*(D1-D2));
     b=250000*(D1+D2);
     L=a/b*100;
     ui->lineEdit_14->setText(QString("%1").arg(L));
 }
     //если не ввели в lineEdit_12 тогда/   
if(lineEdit_12->text().isEmty())
{
     w=500*pow(L*(D1+D2)/(m*h*(D1-D2)),2);
     ui->lineEdit_12->setText(QString("%1").arg(w));
}


Название: Re: Проверка на ввод
Отправлено: alertforce от Апрель 30, 2011, 13:19
так не работает, выбивает ошибки в строке с if:
'lineEdit_14' was not declared in this scope
'lineEdit_12' was not declared in this scope


Название: Re: Проверка на ввод
Отправлено: Fat-Zer от Апрель 30, 2011, 13:32
ui->lineEdit_14->text()...
ЗЫ: пользуйтесь тегом code


Название: Re: Проверка на ввод
Отправлено: alertforce от Апрель 30, 2011, 13:47
а можете подсказать как а то я не пользовался никогда code?, написал так, дак терь вобще не то что-то считает:

{
    float D1,D2,m,L,w,h,a,b;
     D1=ui->lineEdit_6->text().toFloat();
     D2=ui->lineEdit_9->text().toFloat();
     h=ui->lineEdit_11->text().toFloat();
     m=ui->lineEdit_15->text().toFloat();
     w=ui->lineEdit_12->text().toFloat();
     L=ui->lineEdit_14->text().toFloat();
     if (ui->lineEdit_14->text().isEmpty()) {
     a=(w*w*m*h*(D1-D2));
     b=250000*(D1+D2);
     L=a/b*100;
     ui->lineEdit_14->setText(QString("%1").arg(L));
 }
     if (ui->lineEdit_12->text().isEmpty()) {
     w=500*pow(L*(D1+D2)/(m*h*(D1-D2)),2);
     ui->lineEdit_12->setText(QString("%1").arg(w));}


Название: Re: Проверка на ввод
Отправлено: NortT от Апрель 30, 2011, 13:54
Вот так:
Код:
ui->lineEdit_14->text()


Название: Re: Проверка на ввод
Отправлено: alertforce от Апрель 30, 2011, 13:56
ну я там написал в условии но оно теперь не считает L а w считат неправильно


Название: Re: Проверка на ввод
Отправлено: alertforce от Апрель 30, 2011, 14:11
аа все я разобрался, спс всем