crossplatform.ru

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

> Как сохранить Qt::AlignLeft для QLineEdit при уменьшении его размера при сдвиге сплиттера?
Steklova Olga
  опции профиля:
сообщение 2.11.2011, 16:06
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

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




Репутация:   4  


Здравствуйте! Работаю с Qt 4.7, Firebird 2.1.
У меня есть горизонтальный сплиттер splitter_Horiz, к которому подключены виджеты widget_left и widget_right.
Для widget_left установлен GridLayout (в 0-м столбце - Label'ы, в 1-м столбце - LineEdit'ы).
Есть DataWidgetMapper, к которому подключены LineEdit'ы.
В полях таблицы, установленной для модели, записаны строки до 30 символов или числа.

Когда перемещаю сплиттер влево, ширина LineEdit'ов уменьшается и строки полностью уже не помещаются.

Но при этом левое выравнивание в LineEdit'ах на глазах превращается в правое,
а мне хотелось бы сохранить левое.
Подскажите, пожалуйста, как это сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
BlueIceScream
  опции профиля:
сообщение 28.12.2011, 20:36
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 21.11.2011
Из: Республика Дагестан
Пользователь №: 3016

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




Репутация:   3  


На самом деле при изменении размеров QLineEdit думает так:

У меня есть текст.
Он имеет определенную длину.
С текстом связана позиция курсора.
Курсор стоит там где его оставил пользователь. (или где он установился когда вы добавили текст)
При уменьшении я буду стараться отображать ту позицию где установлен курсор, раз он там стоит, то значит это отображение приоритетнее для пользователя.


Для исправления этого просто после каждого изменения текста устанавливайте курсор на нулевую позицию

void QLineEdit::setCursorPosition ( int )


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 23.11.2024, 12:16