![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
edwardoid |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Имхо, каждый чел когда начинает писать GUI-приложения страется написать редактор. По ходу если пишешь на Qt то для нормального редактора в конце приходится использовать QScintilla.
А документация у него совсем никудышная и иерархия классов не оечьн понятна с первого взгляда. Если, вы, господа не против, давайте соберем тут решения на проблемы с которыми сталкиваешься, когда используешь QScintilla. Проблема: Как модифицировать поведение аутокомплита? Т.е. как привязать появление окошка аутокомплита к какому-то хоткею или связке клавиш? Я покопался в сырцах библиотеки, нигде ничего "Qt::Key" не нашел. И даже среди функций по названию ни одно вроде не подходило. Если не сложно покопайтесь и вы. Помогите, плз. |
|
|
![]() |
void* |
![]()
Сообщение
#2
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
1) Т.к приложение у тебя MDI, то возможно что проблема вовсе не в API для автокомплита. Кстати без них у тебя редактор нормально работает?
Есть одна бага в самой либе - если свой класс редактора тупо наследовать от QsciScintilla, то в MDI-приложении будут вылеты. Обойти эту проблему можно наследовав класс редактора от QFrame(см. у меня в проекте) и там уже устанавливать QsciScintilla на весь фрейм 2) Просмотрел твои исходники. Я вообще делал немного по другому - объект класса QsciAPIs хранится в табвиджете(где располагаются во вкладках все редакторы) и уже при добавлении нового редактора ему сразу устанавливаются API, т.е. отпадает необходимость хранить в каждом редакторе указатель на QsciAPIs. Можешь попробовать сделать наподобие |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.6.2025, 21:25 |