Russian Qt Forum
Июнь 16, 2024, 02:22
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
textChanged в QMultiLineEdit
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: textChanged в QMultiLineEdit (Прочитано 5995 раз)
IUnknown
Гость
textChanged в QMultiLineEdit
«
:
Август 01, 2005, 19:56 »
Есть текстовое поле QMultiLineEdit. Нужно сделать так что-бы при вводе в него текста аналогичный текст отображался на удаленном компе. Для одниночных символов делаю так:
bool QRemoteEdit::event(QEvent *pEvent)
{
if (pEvent->type() == QEvent::KeyPress)
{
QKeyEvent *pKeyEvent = static_cast<QKeyEvent *>(pEvent);
m_pSocket->writeBlock(pKeyEvent->text(),
pKeyEvent->text().length());
}
return QMultiLineEdit::event(pEvent);
}
Как мне сделать так что-бы при вставке текста из буфера серверу был отправлен весь текст. Можно ли как-то сделать так что-бы при обработке textChanged как-то получать не весь текст существующий в текстовом поле, а только что введенный. Еще есть некоторые проблемы при удалении символов. Если кто сталкивался посоветуйте как это реализовать. Заранее благодарен.
Записан
jindos
Гость
textChanged в QMultiLineEdit
«
Ответ #1 :
Август 02, 2005, 10:33 »
Если текст может быть вставлен в любое место QMultiLineEdit (а это видимо так), то нужно отправлять на сервер содержимое буфера обмена и QMultiLineEdit::getCursorPosition(int*line, int*col)... Наверное, этого будет достаточно...
Записан
IUnknown
Гость
textChanged в QMultiLineEdit
«
Ответ #2 :
Август 02, 2005, 15:58 »
А как сделать так что-бы при изменении текста у клиента на сервере все тоже изменялось - например устанавливаем курсор в любую позицию и удаляем один символ и что-бы на сервере был удален тот же символ?
Записан
jindos
Гость
textChanged в QMultiLineEdit
«
Ответ #3 :
Август 02, 2005, 16:41 »
Это все нужно обрабатывать, как я понимаю, если ты не хочешь каждый раз пересылать весь текст...
Если дело в удалении, то это тот же ввод, только наоборот: в обработке BackSpace или Del отсылаешь позицию курсора и количество удаленных символов = количество символов до удаления-количество символов после удаления (QMultilineEdit::text().length()) и направление выделения (при помощи markedText() можно получить)...
Все это обрабатываешь на клиенте... По моему не сложно...
Записан
IUnknown
Гость
textChanged в QMultiLineEdit
«
Ответ #4 :
Август 02, 2005, 22:08 »
Большое спасибо за помощь, но тут у меня возник еще один простенький вопросик:
у меня есть структура
struct PACKET
{
Q_UINT8 m_uiState;
Q_UINT32 m_uiMsg;
Q_UINT32 m_uiWParam;
Q_UINT32 m_uiLParam;
};
которую я отсылаю. Вопрос у том как мне реализовать прием этой структуры в readyRead() желательно с использованием QBytesArray.
Записан
jindos
Гость
textChanged в QMultiLineEdit
«
Ответ #5 :
Август 03, 2005, 09:49 »
Ну если ты ее через QDataStream пишешь в поток, то прочитать в обработчике сигнала readyRead можно при помощи оператора >>
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...