Название: Как убрать мерцающие каретки а полях ввода? Отправлено: Павелъ от Апрель 02, 2017, 19:28 Доброго времени суток.
Разрабатываю графический интерфейс для своего приложения. Понадобилось много полей ввода. Можно конечно было их сделать с помощью QTableWidget. Но, я сделал с помощью QLineEditов. И сейчас уже не хочется менять, так как написано много кода. В приложении надо сделать так, что если пользователь удалил полностью текст в LineEdit и переместился на другое поле или вкладку, то поле автоматически заполнялось бы либо предыдущим значением, либо "0.0". Я сделал - "0.0", так как это легче. Сначала для этого я пытался связать сигналы QLabel со своим слотом Код: void MainWindow::slotFinishedEdit(QWidget * wg) Проблема оказалась в том, что подходящего сигнала у QLineEdit я не нашёл. Сигнал editingFinished() срабатывает только тогда, когда в поле есть текст. Поэтому пришлось наследовать класс QLineEdit и в событии Код: void LineEdit::focusOutEvent(QFocusEvent *) посылать собственный сигнал. Но после этого создалось такое впечатление, что каждый LineEdit живёт своей жизнью. После перехода в другое поле в старых остаются мигающие каретки. Причём текст вводится в текущем поле, как и надо. Пробовал чистить фокус focusclear и т.д. Ничего не помогло - мигающие каретки. Помогите либо избавиться от мигающих кареток, либо сделать так, чтобы после смены поля, в случае если в нём ничего нет, предыдущее заполнялось значением. (http://s020.radikal.ru/i715/1704/3c/36c1d6f514cd.png) (http://radikal.ru) Название: Re: Как убрать мерцающие каретки а полях ввода? Отправлено: Павелъ от Апрель 02, 2017, 19:32 https://yadi.sk/d/sEue4d673GZzJz
Вот ссылка на сам проект. Главная форма реализована в MainWindow.cpp Название: Re: Как убрать мерцающие каретки а полях ввода? Отправлено: Old от Апрель 02, 2017, 19:37 А если так:
Код
Название: Re: Как убрать мерцающие каретки а полях ввода? Отправлено: Павелъ от Апрель 02, 2017, 20:26 Спасибо, работает!
Название: Re: Как убрать мерцающие каретки а полях ввода? Отправлено: Racheengel от Апрель 03, 2017, 11:43 С коннектами решение как-то кривенько смотрится :(
Можно было бы отнаследоваться от LineEdit и дописать нехватающий функционал. |