python桌面开发推荐结构
我是一名快乐的 Django 开发人员,现在想要构建一个小型的 Python 桌面应用程序。我决定使用 wxpython 作为我的 gui 工具包。
现在开始混乱。我应该如何组织我的代码?有没有简单的起点方案?有任何指向具有数据库交互的小型 wxpython 应用程序的真实世界代码的指针吗?
I am a happy django developer and now want to build a small python desktop app. I have decided to use wxpython as my gui toolkit.
Now starts the confusion. How should I organize my code? are there any simple starting point schemes? Any pointers to real world code of small wxpython application with database interactions ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是我最喜欢的开始新的 wxPython 项目的方式: http://www.onemillionpython.com/
它还开始以一种很好的方式为您布置代码。
This is my favorite way to get started with a new wxPython project: http://www.oneminutepython.com/
It also starts laying out the code for you in a nice way.
我坚持“我写什么,我就得到什么”的规则。所以我通常从其中之一开始:
1) 使用面板的默认帧大小调整器:
2) 对面板使用默认的框架大小,对内部所有内容使用边框:
3) 使用自定义 Frame sizer对于面板,这样我就可以控制它,例如在需要时调用“Fit”和“Layout”:
这是我的出发点。然后我只需添加其他原始小部件并为它们绑定事件。如果我需要一个新面板,我通常将其放入一个新模块中并派生Panel 类。我对必须从原始小部件派生的特殊小部件执行相同的操作 - 例如绘图面板、OpenGL 画布、特殊情况按钮等。
将功能与 GUI 分开通常也是个好主意。所以我首先以不需要 GUI 的方式编写功能。
I stick to the "what I write, that I get" rule. So I usually start with one of those:
1) Using default Frame sizer for panel:
2) Using default Frame sizer for panel and Border for everything inside:
3) Using custom Frame sizer for panel, so I can control it, for example call "Fit" and "Layout" on it when needed:
That is my starting point. Then I just add other primitive widgets and bind events for them. If I need a new panel, I usually put it in a new module and derive the Panel class. I do the same for special widgets which have to derive from the primitive ones - like drawing panels, OpenGL canvas, special case buttons etc.
It is usually also good idea to have functionality separated from GUI. So I write functionality first the way it does not need GUI.