【问题标题】:Any advice on my decisions surrounding Python GUI & database? [closed]关于我围绕 Python GUI 和数据库的决定有什么建议吗? [关闭]
【发布时间】:2020-06-10 04:05:25
【问题描述】:
所以我的下一个学校任务是创建一个带有数据库的 Python GUI 应用程序。我只有几个基本问题,我还不能 100% 确定答案。
- 我非常擅长
HTML 和 CSS,但不太擅长 Javascript(不过我有大约 8 周的时间来完成这个项目) - 正在创建一个带有 ElectronJS 的应用程序,甚至只是在带有pywebview 的Web 浏览器是个好主意,还是我最好坚持使用一些较旧、更丑陋的GUI 框架,例如Tkinter 或Kivy?
- 学习如何使用
NoSQL 数据库而不是SQL 有什么主要原因吗?我已经对 SQL 有了相当的了解。
- 最后,使用 GUI 和数据库(数据库甚至可以在
.exe 内吗?)是否会在最后将我的整个项目打包成 .exe 或 .app 造成任何问题,或者这没什么担心吗?
提前致谢:)
【问题讨论】:
标签:
javascript
python
sql
mongodb
electron
【解决方案1】:
1- 与 python 的 gui 一样,我主要使用 pyqt5,它非常好,它是一个成熟的项目,你甚至可以用它来与数据库(sql 数据库)通信,你可以快速安装 qt 设计器ui 设计,可以将 css(或非常接近它的东西)应用于您的 ui 组件,最重要的是(至少对我而言)您会在网上找到大量关于如何使用它并解决可能出现的问题的资源。
不过,如果您想使用更多类似电子的方法并使用您的 html 和 css 技能,我会推荐 Eel,它相当容易使用,我没有用它创建任何太复杂的东西。现在我提到的这些 gui 库可以与模块 pyinstaller 一起使用来创建您需要的可执行文件。
2- 如果您已经有一些使用 sql 的经验,我建议您使用它,原因有两个
第一:sql 数据库引擎将满足您的大部分需求(如果不是全部),如果您正在处理大量数据或者您真的想学习 nosql,请使用 nosql。
第二:我不知道你的项目是要与外部数据库通信还是嵌入到项目中,如果嵌入则使用sqlite,如果没有,对于sql我推荐postgres,对于nosql使用mongodb。
3- 根据我的经验,有时尝试在可执行文件中嵌入所有内容(数据库、其他外部文件)会变得很复杂,但您可以将应用程序构建为单独的文件,我建议您像我写的那样使用它在 pyinstaller 之上,它有很好的文档记录,两个 gui 库都可以正常工作。
希望这对您有所帮助,我向您推荐的所有内容都来自个人经验,有很多数据库引擎,python 库可用于完成项目所需的任务,检查最适合您的。
祝你好运,对不起我的英语。