Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » как встроить редактор python в свою программу [RSS Feed]

#1 Окт. 2, 2009 13:18:24

villager
От:
Зарегистрирован: 2008-11-04
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

как встроить редактор python в свою программу

пишу что-то типа универсальной оболочки для БД с использованием PyQt

в БД хранится описание таблиц, полей
и куски кода для обработки событий (например, обработка нажатия на кнопку)
на ходу собирается форма и т.д., все работает …

в форму редактирования встроил простейший редактор с подсветкой на базе QPlainTextEdit
хочу добавить кнопку для вызова полноэкранного редактора, с последующим возможным сохранением исправленного текста в БД
для разработки использую Eric4

ткните в пример, пожалуйста, как себе в проект затянуть какой нибудь редактор, желательно на Qt, чтобы потом все работало из .EXE без инсталляции

зы: если кого интересует тема “что-то типа универсальной оболочки для БД”, дайте знать …



Офлайн

#2 Окт. 2, 2009 14:56:18

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

как встроить редактор python в свою программу

посмотри в сторону QScintilla



Офлайн

#3 Окт. 3, 2009 21:01:51

villager
От:
Зарегистрирован: 2008-11-04
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

как встроить редактор python в свою программу

Спасибо,это оно, но как с ним подружится …
нигде не нашел



Офлайн

#4 Окт. 5, 2009 20:12:55

villager
От:
Зарегистрирован: 2008-11-04
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

как встроить редактор python в свою программу

Все просто оказалось

import sys
from PyQt4 import QtCore, QtGui, Qsci
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.setWindowTitle('Custom Lexer Example')
self.setGeometry(QtCore.QRect(50,200,400,400))
self.editor = Qsci.QsciScintilla(self)
self.editor.setUtf8(True)

self.editor.setFolding(Qsci.QsciScintilla.BoxedTreeFoldStyle)

self.setCentralWidget(self.editor)
self.lexer = Qsci.QsciLexerPython()
self.editor.setLexer(self.lexer)

self.editor.setText('\n# sample source\n\nfoo = 1\nbar = 2\class foo():\n\tpass')

if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
app.connect(app, QtCore.SIGNAL('lastWindowClosed()'),
QtCore.SLOT('quit()'))
win = MainWindow()
win.show()
sys.exit(app.exec_())



Офлайн

#5 Окт. 7, 2009 19:00:05

villager
От:
Зарегистрирован: 2008-11-04
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

как встроить редактор python в свою программу

небольшие грабли, может кому пригодится:
редактирую код, сохраняю в БД - пробую выполнить - ошибка…
не сразу врубился, что дело в сохранении текста

поставил:
self.editor.setEolMode(Qsci.QsciScintilla.EolUnix)
и все заработало, как надо



Офлайн

  • Начало
  • » GUI
  • » как встроить редактор python в свою программу[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version