crossplatform.ru

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

> Сброс выделения текста в редактируемом QComboBox
XXL
  опции профиля:
сообщение 22.12.2009, 0:29
Сообщение #1


Студент
*

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

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




Репутация:   0  


Всем доброй ночи!
Хочу задать маленький вопрос. Есть редактируемый QComboBox. Не могу понять, почему в его QLineEdit производится выделение текста. А именно отлавливаю сигнал изменения текста editTextChanged(const QString&). Получаю текущую позицию курсора, устанавливаю новый текст в текущую ячейку, а потом снова возвращаю курсор на полученную позицию:
void CWorkForm::OnEditTextChanged(const QString& strText)
{
    int pos = m_pComboBox->lineEdit()->cursorPosition();

    m_pComboBox->setItemText(iCurIndex, strText);

...............................................................

    m_pComboBox->lineEdit()->setCursorPosition(pos);
}


После этого в редактируемой строке выделяется кусок слова от последней позиции до pos...Также была испробована функция void QLineEdit::cursorBackward ( bool mark, int steps = 1 ) с mark = false и количеством шагов, равным количеству символов от конца слова до текущей позиции. Результат аналогичный...Почему такое может быть? А хотелось бы параллельно с редактированием слова редактировать ячейку без выделения текста...

Сообщение отредактировал XXL - 22.12.2009, 0:30
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 22.12.2009, 16:23
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(XXL @ 22.12.2009, 3:29) *
А хотелось бы параллельно с редактированием слова редактировать ячейку без выделения текста..
не понял про какую ячейку речь идёт.

вопрос, сходу: при вставке текста с помощью setItemText сигнал editTextChanged(const QString&) посылается повторно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
XXL
  опции профиля:
сообщение 22.12.2009, 17:50
Сообщение #3


Студент
*

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

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




Репутация:   0  


Ячейка - текущий комбобоксовский item для которого вызывается setItemText (нужно редактировать его параллельно с комбобоксовским QLineEdit - ввожу символ в QLineEdit, и сразу же соответственно меняю содержимое текущей ячейки).
Нет, сигнал повторно не посылается.
У меня проблема в том, если редактировать слово в QLineEdit где-то в середине, после setItemText курсор смещается на последнюю позицию. Я его хочу вернуть на место, чтобы в случае необходимости продолжить редактирование, а программное перемещение происходит с выделением текста, которого никак не удается избежать...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 10.1.2025, 4:33