如何使用wx.lib.docview包?

2 投票
2 回答
618 浏览
提问于 2025-04-15 11:08

我现在正在做一个简单的wxPython应用程序,基本上是基于文档的。到目前为止,我一直在手动实现一些常见的功能,比如打开、保存、撤销、重做等等。

我突然想到,wxPython应该有一些工具可以帮我,于是经过一番搜索,我发现了docview包

不过现在我还不太确定怎么把这些东西连接起来,怎么开始。有谁能给我一些好的链接或者建议,告诉我从哪里入手吗?

文档似乎对此的介绍不太详细,而Robin Dunn的wxPython书籍也没有涉及这个包。

2 个回答

1

除了之前提到的内容,还有一个比较详细的示例叫做docview/pydocview,位于samples\ide文件夹里。如果你想运行这个示例,你需要对代码做一些修改(我已经在trac.wxwidgets.org上提交了一个工单,详细说明了需要的修复,编号是#11237)。这个示例比较复杂,但我发现它对理解一些更复杂的操作很有帮助。例如,samples\ide\activegrid\tools\ProjectEditor.py是从头开始构建的,支持撤销和重做等功能,而不是仅仅依赖一个已经做好所有事情的控件。这样你就能看到在细节层面上应该怎么做。关于这方面的文档其实没什么用。

如果你决定不使用docview/pydocview,我有一个基于wxPython的电子表格应用,你可能会觉得这个例子很有用。虽然它没有实现文档视图框架,但它有一些类似的特性,并且我实现了撤销/重做的系统。你可以在这里查看:http://www.missioncognition.net/pysheet/。我目前正在开发一个基于pydocview的应用,预计最终会在我的网站上发布。

1

你可以看看来自 wxPython文档和示例 的 docviewdemo.py 文件:

在我的电脑上,它们的位置是:

  • C:\Program Files\wxPython2.8 Docs and Demos\samples\pydocview\
  • C:\Program Files\wxPython2.8 Docs and Demos\samples\docview\

撰写回答