我从来没有编写过程序,(虽然我已经涉足Access并且熟悉OOP概念),并决定承担自己编写家用数据库程序的挑战。 (它将跟踪我们的财务状况,并根据我们的工作方式进行定制。)我几乎决定使用Python和SQLite,但这仍然会留下其他决定。我想我应该得到经验丰富的建议并帮助选择,因为我对那里的利弊(对于我的情况)一无所知。
我知道我需要某种类型的报告(与Access报告类似的东西是理想的)。另外,我需要(最简单的方法)来构建UI。我(初学者)应该为这些目的看一些软件是什么?除了那些之外,我还需要其他工具吗?
非常感谢你的帮助。
更新。是否有任何拖放表格和报告Python / Sqlite的开发工具(类似于Access)?对我来说,对Netbeans IDE和Swing UI的看法如何?
答案 0 :(得分:6)
Tkinter是一个适合初学者的优秀** UI框架。我强烈推荐使用它,如果它看起来足够强大以满足您的需求。
因为就编程而言,你听起来很缺乏经验,所以我推荐这个:
1)学习如何进行基本IO,尤其是学习Python的字符串格式。它非常有用,在您的情况下可能非常有用。
2)学习如何使用SQLite进行SQL查询 - 将Python IO技能附加到SQLite。
3)学习Python的对象模型 - 它如何适应OOP的概念,特别是如何使对象适合您的数据模型。了解它如何在Python的IO和SQLite IO之间起作用。
4)现在您可以轻松地将数据放入SQLite数据库和用户并从中获取数据,并且可以轻松处理对象,现在是时候开始学习事件驱动编程,主循环和GUI布局了。 Tkinter非常简单,Effbot有一些关于Tkinter的相当好的信息。
5)将所有这些技能和知识结合在一起,使自己成为一个程序。在整个过程中,你可能不得不回过头来重新学习,重新学习或学习一些关于1-4的新东西。不要害怕重新编写代码 - 如果看起来像是一个很痛苦的工作/周围,你可能正在做某些错误,或者只是没有看到正确的解决方案你的脸。在某些情况下,它是无知的,在其他情况下,你只是在看你的程序太久了,并且可能与以“错误”的方式做到这一点的想法结合在一起。如果您的解决方案不简单,那么您可能会使问题复杂化。
6)寻求帮助。如果您遇到困难,可以随时询问,或python tutor mailing list。告诉/展示你做了什么,你期望发生什么,以及它做了什么。大多数pythonistas往往是一个相当有用的群体,当你表明你一直在尝试自己工作时更是如此。
无论如何,HTH,以及良好的编程!
*太棒了我的意思是它有很好的功能,但它不是很漂亮或过于复杂。此外,它还是Python安装的标准配置。
例如,带有标签和按钮的简单tkinter程序可能如下所示:
import Tkinter as tk
# Initialize a new root window
root = tk.Tk()
# Create a label that belongs to the root window
hello = tk.Label(root, text='Hello')
# Create a button that belongs to root, and will make the program
# quit when pressed
goodbye = tk.Button(root, text='Goodbye', command=root.quit)
# Use the pack manager to add the button and label to the root
# Window - do NOT mix pack and grid managers - they don't play well
hello.pack()
goodbye.pack()
# Enter the mainloop
root.mainloop()
答案 1 :(得分:3)
如果你以前从未做过任何编程,那么一个建议是:小步骤。
编写一个小程序,从SQLite数据库中提取内容并打印它们。了解它的工作原理并将其丢弃。 对于阅读文件,制作简单的GUI等同样,您需要了解程序需要知道的所有方面。
一旦你知道这些碎片,试着把它们放在一起。