Как мне использовать пакет wx.lib.docview?

В настоящее время я работаю над простым приложением wxPython, которое основано на документах. До сих пор я вручную реализовывал обычные вещи open/save/undo/redo и т. Д.

Мне пришло в голову, что wxPython должен что-то мне помочь, и после небольшого поиска обнаружил пакет docview.

На данный момент, хотя я просто не совсем уверен, как все это подключить и начать. У кого-нибудь есть хорошие ссылки или советы о том, с чего начать?

Документы, кажется, немного тонкие об этом, и книга Робин Данна по wxPython на самом деле не охватывает этот пакет вообще.

2 ответа

Решение

Вы можете взглянуть на docviewdemo.py из Документов и Демо wxPython:

на моей машине они расположены:

  • C: \ Program Files \ wxPython2.8 Документы и демонстрации \ samples \ pydocview \
  • C: \ Program Files \ wxPython2.8 Документы и демонстрации \samples\docview\

В дополнение к упомянутым, в сэмплах \ide есть довольно обширный пример docview/pydocview. Если вы хотите, чтобы он работал, вам нужно будет внести несколько исправлений в код (я отправил заявку, в которой изложены исправления, на trac.wxwidgets.org #11237). Это довольно сложно, но мне было удобно выяснить, как делать более сложные вещи. Например, samples\ide\activegrid\tools\ProjectEditor.py создан с нуля и имеет поддержку отмены и т. Д., А не просто полагается на элемент управления, который уже все сделает за вас. Таким образом, вы можете увидеть, как все должно быть сделано на детальном уровне. Документация довольно бесполезна в этом отношении.

Если вы решили отказаться от использования docview/pydocview, у меня есть приложение для работы с электронными таблицами, построенное на wxPython, которое вы можете найти полезным в качестве примера. Хотя он не реализует структуру представления документа, у него есть некоторые характеристики, и я реализовал систему отмены / повтора. Проверьте это на http://www.missioncognition.net/pysheet/ настоящее время я работаю над приложением, основанным на pydocview, поэтому я ожидаю, что в конечном итоге оно появится на моем сайте.

Другие вопросы по тегам