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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QAction и вставка строки с выделением в TextEdit  (Прочитано 2444 раз)
nvek
Гость
« : Апрель 23, 2019, 13:39 »

в контекстном меню я выбираю функцию, допустим cos(число)
нажимаю , текст вставляется , "число" должно выделиться.
но если на следующей строке такое действие выполняю, то выделяется первая строка...  Непонимающий
Курсор не знает какую строку выделять, выделяет первую

CustomMenu - наследник QAction я сделал для того чтобы таким образом кастовать к своему типу, в котором свои поля...  Строит глазки
Код:
void CustomMenu::paste()
{
CustomAction *act = qobject_cast<CustomAction*>(sender());
QString tmplt = act->_tmplt;

// находим выделение на начало и конец
int start = tmplt.indexOf(act->_select);
int last = act->_select.size() + start;

_textEdit->textCursor().insertText(tmplt);

QTextCursor cursor = _textEdit->textCursor();
cursor.setPosition( start );
cursor.setPosition(last, QTextCursor::KeepAnchor);
_textEdit->setTextCursor(cursor);
}

Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Май 07, 2019, 15:35 »

Зачем делать наследника? Если хотите хранить какие то свои данные в QAction, храните их через data()/setData().
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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