Russian Qt Forum
Октябрь 03, 2024, 12:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QLineEdit обработка измененного текста  (Прочитано 4117 раз)
trot
Гость
« : Июль 13, 2010, 18:04 »

Помогите пожайлуста.
Необходимо  обработать изменный текст в QLineEdit. Создал слот, который начинает работу по сигналу editingFinished. В этом слоте пытаюсь оценить, был ли изменен текст. Для этого использовал метод isModified (), но он всегда возвращает true.
Что посоветуете?
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #1 : Июль 13, 2010, 20:41 »

А чем сигнал textChanged не подходит?
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
trot
Гость
« Ответ #2 : Июль 14, 2010, 11:35 »

Он срабатывает при вводе каждого символа. Хотелось бы после редактирования текста понять, был ли он изменен.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Июль 14, 2010, 12:43 »

Цитировать
Для этого использовал метод isModified (), но он всегда возвращает true.
Хм, странно.
Могу посоветовать при установке начального текста дублировать его через setPropery( "init_value", string ) и уже в editingFinished() слоте
проверять текущее значение с начальным
if( text() != property( "init_value" ).toString() )
   ; // modified
Записан

Qt 5.11/4.8.7 (X11/Win)
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #4 : Июль 14, 2010, 14:28 »

isModified возвращает true при любом редактировании, даже если например в едите было: "xxx", юзер стер, а потом снова написал "xxx".
Сбрасывается в false при setText(). Так что выход один - делать как сказал GreatSnake.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
trot
Гость
« Ответ #5 : Июль 14, 2010, 18:31 »

Спасибо всем за ваши советы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.135 секунд. Запросов: 23.