crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QLineEdit проверить, Как проверить что информация не нулевая?
fortero
  опции профиля:
сообщение 10.5.2011, 22:37
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 132
Регистрация: 4.12.2010
Пользователь №: 2242

Спасибо сказали: 0 раз(а)




Репутация:   0  


Подскажите пожалуйста ато мозг устал...
Как в виджите QLineEdit проверить что есть информация не нуливая в пределах одной области видемости, что бы потом можно было дать разришение на нажатие кнопок?
Спасибо за внимание!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
breeve
  опции профиля:
сообщение 11.5.2011, 2:18
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 188
Регистрация: 26.12.2009
Пользователь №: 1336

Спасибо сказали: 9 раз(а)




Репутация:   1  


Или можешь сделать просто флаг - переменную bool isEmpty. Которая изначально будет тру(строка пустая). И при любом изменении текста LineEdit'а будет проверяться пустая ли строка. А как это сделать читай выше. Сигнал к слоту, и в нем обрабатываешь и изменяешь переменную.

Пример твой не прокатит, насколько я знаю чтобы сделать слот нужно в любом случае класс создавать свой.
Проверенный код:
BLOCKBUTTON_H
#ifndef BLOCKBUTTON_H
#define BLOCKBUTTON_H

#include <QtGui>

class BlockButton : public QWidget
{
    Q_OBJECT

public:
    BlockButton(QWidget *parent = 0);
    ~BlockButton(){};
private:
    QPushButton *button;
    QLineEdit *line;
    QVBoxLayout *vLay;
private slots:
    void s_blockButton(QString);
};

#endif // BLOCKBUTTON_H
BLOCKBUTTON.CPP
#include "blockbutton.h"

BlockButton::BlockButton(QWidget *parent)
    : QWidget(parent)
{
    vLay = new QVBoxLayout;
    button = new QPushButton("Next");
    button->setDisabled(true);
    line= new QLineEdit;
    connect(line, SIGNAL(textChanged(QString)),
            this, SLOT(s_blockButton(QString)));


    vLay->addWidget(line);
    vLay->addWidget(button);
    setLayout(vLay);
}

void BlockButton::s_blockButton(QString s)
{
    if(s.isEmpty())
        button->setDisabled(true);
    else
        button->setDisabled(false);
}


Сообщение отредактировал breeve - 11.5.2011, 2:21
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- fortero   QLineEdit проверить   10.5.2011, 22:37
- - Алексей1153   fortero, что значит - "нулевая информация...   10.5.2011, 22:55
|- - fortero   Цитата(Алексей1153 @ 10.5.2011, 22:55) fo...   10.5.2011, 23:01
- - Алексей1153   Цитата(fortero @ 11.5.2011, 2:01) Как сде...   10.5.2011, 23:13
|- - fortero   Цитата(Алексей1153 @ 10.5.2011, 23:13) Ци...   10.5.2011, 23:23
- - Алексей1153   при чём тут область видимости я так и не понял, ч...   10.5.2011, 23:27
|- - fortero   Цитата(Алексей1153 @ 10.5.2011, 23:27) пр...   11.5.2011, 1:22
|- - breeve   Цитата(fortero @ 11.5.2011, 2:22) Ну есть...   11.5.2011, 1:31
|- - fortero   Цитата(breeve @ 11.5.2011, 1:31) Цитата(f...   11.5.2011, 1:32
|- - breeve   Цитата(fortero @ 11.5.2011, 2:32) Я уже д...   11.5.2011, 1:37
|- - fortero   Цитата(breeve @ 11.5.2011, 1:37) Цитата(f...   11.5.2011, 1:54
- - breeve   Или можешь сделать просто флаг - переменную bool i...   11.5.2011, 2:18
- - fortero   Спасибо помогло, пару маленьких поправок и всё ста...   11.5.2011, 3:43
|- - MJIbIu   Цитата(fortero @ 11.5.2011, 4:43) Спасибо...   11.5.2011, 8:57
|- - breeve   Цитата(fortero @ 11.5.2011, 4:43) Спасибо...   12.5.2011, 10:51
- - fortero   Всем оргрмное спасибо! Всё работает так как я ...   13.5.2011, 1:43
- - silver47   Цитата(fortero @ 13.5.2011, 3:43) А подск...   13.5.2011, 6:35
- - Litkevich Yuriy   Цитата(fortero @ 11.5.2011, 2:01) выяснит...   13.5.2011, 7:20


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 0:47