Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 13.5.2011, 7:20 |
выяснить QLineEdit полные или пустые??? QLineEdit::text() + QString::isEmpty() |
|
silver47 | Дата 13.5.2011, 6:35 |
А подскажите а какой функцией можно измереть длинну строки, в классе 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 символа, т.к. нулевой содержит длину строки (один байт). |
|
fortero | Дата 13.5.2011, 1:43 |
Всем оргрмное спасибо! Всё работает так как я и представлял! P.S. А подскажите а какой функцией можно измереть длинну строки, в классе QString? |
|
breeve | Дата 12.5.2011, 10:51 |
Спасибо помогло, пару маленьких поправок и всё стало так как я хочу! Но вот снова не задача, а как быть когда надо обслуживать несколько поолей, если в 3 из 9 полей нет данных то кнопка не должна быть активная, как это орагнизовать??? Подключаешь сигналы textChanged(QString), от трех LineEdit'ов к одному слоту и там обрабатываешь. Слот выглядит примерно так:
|
|
MJIbIu | Дата 11.5.2011, 8:57 |
Спасибо помогло, пару маленьких поправок и всё стало так как я хочу! Но вот снова не задача, а как быть когда надо обслуживать несколько поолей, если в 3 из 9 полей нет данных то кнопка не должна быть активная, как это орагнизовать??? Может быть есть есть и другие способы, но в лоп приходит тока мысль создать массив из bool переменных. При каждом вводе заполнять его, не пустое или пустое. потом его проверять на все true. |
|
fortero | Дата 11.5.2011, 3:43 |
Спасибо помогло, пару маленьких поправок и всё стало так как я хочу! Но вот снова не задача, а как быть когда надо обслуживать несколько поолей, если в 3 из 9 полей нет данных то кнопка не должна быть активная, как это орагнизовать??? |
|
breeve | Дата 11.5.2011, 2:18 |
Или можешь сделать просто флаг - переменную bool isEmpty. Которая изначально будет тру(строка пустая). И при любом изменении текста LineEdit'а будет проверяться пустая ли строка. А как это сделать читай выше. Сигнал к слоту, и в нем обрабатываешь и изменяешь переменную. Пример твой не прокатит, насколько я знаю чтобы сделать слот нужно в любом случае класс создавать свой. Проверенный код: BLOCKBUTTON_H
BLOCKBUTTON.CPP
|
|
fortero | Дата 11.5.2011, 1:54 |
Я уже думал об этом, но нужно не только изминение отследить но и ч то бы оно не пустым осталось! Если я тебя правильно понял, то ты в этом слоте делай обработку т.о. если строка пустая заблокировать кнопку, если нет то разблокировать. Ну и изначально блокируешь кнопку, чтобы пользователь в любом случае что-нибудь ввел. Верно Вы понимаете, вот я набросал пример, отбросив лишенее:
|
|
breeve | Дата 11.5.2011, 1:37 |
Я уже думал об этом, но нужно не только изминение отследить но и ч то бы оно не пустым осталось! Если я тебя правильно понял, то ты в этом слоте делай обработку т.о. если строка пустая заблокировать кнопку, если нет то разблокировать. Ну и изначально блокируешь кнопку, чтобы пользователь в любом случае что-нибудь ввел. |
|
fortero | Дата 11.5.2011, 1:32 |
Ну есть, форма, она пустая QLineEdit, когда в неё вводиш данные нужно что бы определяло это, а если это описать в этой функции он автоматом думает что она пустая она же не обновляется... Ты можешь подключить сигнал QLineEdit::textChanged(QString), QLineEdit::textEdited(QString) или QLineEdit::editFinished() к своему слоту и там уже обрабатывать то что тебе надо. Я уже думал об этом, но нужно не только изминение отследить но и ч то бы оно не пустым осталось! |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 23:39 |