- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从未编写过程序(虽然我涉足过 Access 并且熟悉 OOP 概念),但我决定接受挑战,为自己编写一个家庭使用的数据库程序。 (它将跟踪我们的财务状况并根据我们的做事方式进行定制。)我几乎已经决定使用 Python 和 SQLite,但这仍然需要做出其他决定。我认为我应该获得有经验的建议并帮助我做出选择,因为我对(对我的情况而言)这些东西的优缺点一无所知。
我知道我需要某种报告(类似于 Access 报告的东西是理想的)。我还需要(最简单的方法)构建一个 UI。为了这些目的,我(初学者)应该看哪些软件?除了这些,我还需要其他工具吗?
非常感谢您的帮助。
更新。 是否有用于 Python/Sqlite(类似于 Access)的拖放表单和报表开发工具?我对 Netbeans IDE 和 Swing UI 有何看法?
最佳答案
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 询问.只是告诉/展示你做了什么,你期望发生什么,以及它做了什么。大多数 pythonista 往往是一群乐于助人的人,当您展示自己一直在努力工作时更是如此。
总之,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()
关于python - 初学者需要有经验的建议来做出重要的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3159878/
我创建了一个库项目,然后构建它,获取 .aar 并解压缩它。获取包含库的 classes.jar 文件,并将其添加到另一个项目中。该项目识别我的文件,我可以从中调用方法和函数。我的问题是我尝试从我的库
这不是现实世界的问题,我只是想了解如何创建 promise 。 我需要了解如何为不返回任何内容的函数做出 promise ,例如 setTimeout。 假设我有: function async(ca
我是 Promise 的新手。我写了两个例子: 第一个是: new RSVP.Promise(function (resolve, reject) { setTimeout(function
我有一个 nodejs (express) 作为服务器端,一个 angular 6 作为客户端。在服务器中我有中间件功能,可以进行 session 检查。如果 session 无效或不存在,我想向客户
我有一个 nodejs (express) 作为服务器端,一个 angular 6 作为客户端。在服务器中我有中间件功能,可以进行 session 检查。如果 session 无效或不存在,我想向客户
我有四个 I/O 操作:A、B、C 和 D。它们中的每一个都应该使用 vertx.executeBlocking 来执行。我应该有以下行为: //PSEUDOCODE waitForExecuteBl
我是一名优秀的程序员,十分优秀!