Я хочу построить структурированный редактор документов, используя Qt. Базовая концепция для v1 - это вложенные разделы, каждый раздел имеет заголовок и один или несколько абзацев. Разделы и абзацы являются различными визуальными единицами (вероятно, с помощью затенения фона). Мне также нужно иметь возможность хранить семантику на уровне символов (то есть: этот фрагмент текста связан со ссылкой X). Если бы я хотел создать представление только для чтения, это было бы возможно с помощью QFrame для разделов и QLabel для каждого заголовка и каждого абзаца. Чтобы сделать это редактируемым, я почти уверен, что смогу захватить все события клавиатуры в окне и таким образом реализовать ощущение ввода и редактирования текста курсором.
У меня проблемы с обработкой копий / вставок.
Я хочу, чтобы взаимодействия с буфером обмена выглядели нативно: то есть ctrl + c / v в окне, команда + c / v в OSX, ctrl + c / v для буфера обмена в X, выберите для копирования для ПЕРВИЧНОГО в X, средний нажмите, чтобы вставить для ПЕРВИЧНОГО на X и т. д.
Стандартные элементы управления редактированием текста в Qt прекрасно справляются со всем этим. Мне интересно, есть ли какое-нибудь "событие вставки" или подобное, которое я могу использовать для реализации того же самого в моем настраиваемом виджете? Есть ли другой способ?