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

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

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: PythonQt and Qt5  (Прочитано 30330 раз)
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #30 : Июнь 11, 2015, 15:44 »

Про jedi: думается, что автор PythonQt имел ввиду автокомплит в питоновской консоли (PythonQtScriptingConsole).
Вряд ли бы тогда была использована фраза better support - это подразумевает, что поддержка автокомплита была и ранее, но что-то было улучшено на уровне библиотеки.
Спасибо за наводку, кстати. PythonQtScriptingConsole класс весьма простой и его можно взять за основу для редактора скриптов. Половину там можно смело выкинуть и будет то, что нужно.
Автокомплит там достигается вызовом следующей строчки:
Код:
PythonQt::self()->introspection(_context, lookup, PythonQt::Anything);
Потом результат выполнения этой функции загружается в QCompleter (класс Qt) - и готово.
Ненене. Не выйдет. В консоли каждый Enter реально выполняет питоновскую команду, в результате имеем исполняемый питоновский контекст в котором работает штатная питоновская интроспекция. Так что, использовать консоль как редактор не получится, а если и получится, то придется выпилить из нее интерактивное выполнение команд, что, в свою очередь, сделает интроспекцию бесполезной.
Записан
Pavel
Гость
« Ответ #31 : Июнь 11, 2015, 15:57 »

Ненене. Не выйдет. В консоли каждый Enter реально выполняет питоновскую команду, в результате имеем исполняемый питоновский контекст в котором работает штатная питоновская интроспекция. Так что, использовать консоль как редактор не получится, а если и получится, то придется выпилить из нее интерактивное выполнение команд, что, в свою очередь, сделает интроспекцию бесполезной.
То, что по нажатию Enter'а выполняется команда - лишь особенность любой консоли. В консоли PythonQt, кстати, можно выполнять несколько команд за раз - просто надо нажимать не Enter, а Shift+Enter. Гляньте исходники, там всё просто. Так что сделать из этой консоли простенький редактор - дело одного часа. Сюда входит интеграция с QSyntaxHighlighter Улыбающийся
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #32 : Июнь 11, 2015, 16:33 »

Ненене. Не выйдет. В консоли каждый Enter реально выполняет питоновскую команду, в результате имеем исполняемый питоновский контекст в котором работает штатная питоновская интроспекция. Так что, использовать консоль как редактор не получится, а если и получится, то придется выпилить из нее интерактивное выполнение команд, что, в свою очередь, сделает интроспекцию бесполезной.
То, что по нажатию Enter'а выполняется команда - лишь особенность любой консоли. В консоли PythonQt, кстати, можно выполнять несколько команд за раз - просто надо нажимать не Enter, а Shift+Enter. Гляньте исходники, там всё просто. Так что сделать из этой консоли простенький редактор - дело одного часа. Сюда входит интеграция с QSyntaxHighlighter Улыбающийся
Да бога ради, делайте... но интроспекция (читай автокомплит) работать не будет.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


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