crossplatform.ru

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

> QRegExp, QRegExp max any String
fortero
  опции профиля:
сообщение 14.11.2011, 21:41
Сообщение #1


Участник
**

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

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




Репутация:   0  


Добрый день!
Подскажите пожалуйста, как задать регулярное выражение в конструктор QRegExp, что бы проверялась только длинна строки а не длина определённых символов. Другими словами я хочу проверять действительно ли введено 8 символов при это меня совершенно не волнует каких!
Спасибо за внимание!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 7)
ilyabvt
  опции профиля:
сообщение 15.11.2011, 8:24
Сообщение #2


Активный участник
***

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

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




Репутация:   3  


А для этого QRegExp и не нужен http://doc.crossplatform.ru/qt/latest/qstring.html#length
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fortero
  опции профиля:
сообщение 15.11.2011, 20:16
Сообщение #3


Участник
**

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

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




Репутация:   0  


Цитата(ilyabvt @ 15.11.2011, 9:24) *
А для этого QRegExp и не нужен http://doc.crossplatform.ru/qt/latest/qstring.html#length


Я с вами согласен, если речь идёт в дальнейшем о классе ну скажем к примеру QLineEdit, а если о QComboBox, как там быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 16.11.2011, 12:49
Сообщение #4


Активный участник
***

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

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




Репутация:   3  


А что не так с QComboBox?
currentText() возвращает QString
itemText ( int index ) возвращает QString
lineEdit() возвращает QLineEdit
сигнал editTextChanged передает QString
слот setEditText принимает QString
любой виджет в Qt, работающий со строками, работает с QString.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fortero
  опции профиля:
сообщение 16.11.2011, 14:43
Сообщение #5


Участник
**

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

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




Репутация:   0  


Цитата(ilyabvt @ 16.11.2011, 13:49) *
А что не так с QComboBox?
currentText() возвращает QString
itemText ( int index ) возвращает QString
lineEdit() возвращает QLineEdit
сигнал editTextChanged передает QString
слот setEditText принимает QString
любой виджет в Qt, работающий со строками, работает с QString.


Да это понятно, но тогда нужно рисовать дополнительный слот. А как на лету сделать, как в моём примере с QLineEdit???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 16.11.2011, 19:25
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

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




Репутация:   11  


Цитата(fortero @ 14.11.2011, 22:41) *
Добрый день!
Подскажите пожалуйста, как задать регулярное выражение в конструктор QRegExp, что бы проверялась только длинна строки а не длина определённых символов.

Что такое "длина определённых символов" я не понял, видимо опечатка. А регексп для 8 любых символов будет "........", серьезно, 8 точек. Или более правильно ".{8}". Но под это подойдет любая строка которая содержит не менее 8 символов, поэтому тебе надо дополнительно указать начало и конец строки, т.е. "^........$" или "^.{8}$"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 16.11.2011, 22:03
Сообщение #7


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Установить QValidator?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fortero
  опции профиля:
сообщение 16.11.2011, 22:30
Сообщение #8


Участник
**

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

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




Репутация:   0  


Цитата(Sokoloff @ 16.11.2011, 20:25) *
Цитата(fortero @ 14.11.2011, 22:41) *
Добрый день!
Подскажите пожалуйста, как задать регулярное выражение в конструктор QRegExp, что бы проверялась только длинна строки а не длина определённых символов.

Что такое "длина определённых символов" я не понял, видимо опечатка. А регексп для 8 любых символов будет "........", серьезно, 8 точек. Или более правильно ".{8}". Но под это подойдет любая строка которая содержит не менее 8 символов, поэтому тебе надо дополнительно указать начало и конец строки, т.е. "^........$" или "^.{8}$"

Спасибо огромное это то что мне недо!
Потому, что будет много разнашорстных виджетов в которые будут водится даные а их волидация будет определяться опцией из базы. И в одних случаях будут цифры или только определённые символы, а в других случаях именно только ограничение по длине. И как раз с просто ограниченем длинны у меня возникли сложности...
Большое спасибо за помощь!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 25.11.2024, 15:36