QLineEdit проверить, Как проверить что информация не нулевая? |
Здравствуйте, гость ( Вход | Регистрация )
QLineEdit проверить, Как проверить что информация не нулевая? |
fortero |
11.5.2011, 1:54
Сообщение
#11
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я уже думал об этом, но нужно не только изминение отследить но и ч то бы оно не пустым осталось! Если я тебя правильно понял, то ты в этом слоте делай обработку т.о. если строка пустая заблокировать кнопку, если нет то разблокировать. Ну и изначально блокируешь кнопку, чтобы пользователь в любом случае что-нибудь ввел. Верно Вы понимаете, вот я набросал пример, отбросив лишенее:
Сообщение отредактировал fortero - 11.5.2011, 1:55 |
|
|
breeve |
11.5.2011, 2:18
Сообщение
#12
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Или можешь сделать просто флаг - переменную bool isEmpty. Которая изначально будет тру(строка пустая). И при любом изменении текста LineEdit'а будет проверяться пустая ли строка. А как это сделать читай выше. Сигнал к слоту, и в нем обрабатываешь и изменяешь переменную.
Пример твой не прокатит, насколько я знаю чтобы сделать слот нужно в любом случае класс создавать свой. Проверенный код: BLOCKBUTTON_H
BLOCKBUTTON.CPP
Сообщение отредактировал breeve - 11.5.2011, 2:21 |
|
|
fortero |
11.5.2011, 3:43
Сообщение
#13
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо помогло, пару маленьких поправок и всё стало так как я хочу!
Но вот снова не задача, а как быть когда надо обслуживать несколько поолей, если в 3 из 9 полей нет данных то кнопка не должна быть активная, как это орагнизовать??? |
|
|
MJIbIu |
11.5.2011, 8:57
Сообщение
#14
|
Студент Группа: Участник Сообщений: 38 Регистрация: 14.4.2010 Пользователь №: 1630 Спасибо сказали: 3 раз(а) Репутация: 0 |
Спасибо помогло, пару маленьких поправок и всё стало так как я хочу! Но вот снова не задача, а как быть когда надо обслуживать несколько поолей, если в 3 из 9 полей нет данных то кнопка не должна быть активная, как это орагнизовать??? Может быть есть есть и другие способы, но в лоп приходит тока мысль создать массив из bool переменных. При каждом вводе заполнять его, не пустое или пустое. потом его проверять на все true. |
|
|
breeve |
12.5.2011, 10:51
Сообщение
#15
|
Участник Группа: Участник Сообщений: 188 Регистрация: 26.12.2009 Пользователь №: 1336 Спасибо сказали: 9 раз(а) Репутация: 1 |
Спасибо помогло, пару маленьких поправок и всё стало так как я хочу! Но вот снова не задача, а как быть когда надо обслуживать несколько поолей, если в 3 из 9 полей нет данных то кнопка не должна быть активная, как это орагнизовать??? Подключаешь сигналы textChanged(QString), от трех LineEdit'ов к одному слоту и там обрабатываешь. Слот выглядит примерно так:
|
|
|
fortero |
13.5.2011, 1:43
Сообщение
#16
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем оргрмное спасибо!
Всё работает так как я и представлял! P.S. А подскажите а какой функцией можно измереть длинну строки, в классе QString? |
|
|
silver47 |
13.5.2011, 6:35
Сообщение
#17
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
А подскажите а какой функцией можно измереть длинну строки, в классе QString? int QString::size () const Returns the number of characters in this string. The last character in the string is at position size() - 1. In addition, QString ensures that the character at position size() is always '\0', so that you can use the return value of data() and constData() as arguments to functions that expect '\0'-terminated strings. Все что курсивом для общего развития. Существуют так называемые C-строки и Pascal-строки. Первые произвольной длинны, последний символ - \0, счет ведется с нулевого символа. Вторые длинной до 255 символов, счет ведется с 1 символа, т.к. нулевой содержит длину строки (один байт). Сообщение отредактировал silver47 - 13.5.2011, 6:39 |
|
|
Litkevich Yuriy |
13.5.2011, 7:20
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 18:48 |