用于学习桌面GUI编程的好项目

时间:2009-06-29 13:58:46

标签: user-interface

我是一名多数自学成才的程序员。当我学习一门新语言时,通常会这样:

  • 购买某种语言的书籍(或书籍)。
  • 阅读这些书。
  • 在网络上查找更多令人困惑/有趣的方面。
  • 实际上使用该语言(使用网络,书籍作为参考)

Web编程为这些东西提供了大量的可能性。论坛,博客,社交网络等。最终结果与正确完成的内容质量不同,但我可以下载一个开源程序,做同样的事情并比较看我的代码是否合适。

然而,对于桌面GUI,我有点难以接受想法。关于一个相当复杂(但可行)的项目的任何建议,以适应桌面编程?

7 个答案:

答案 0 :(得分:7)

您可以找到一个可用的(可能是但不一定是开源的)命令行工具,并为其编写GUI包装器,这样可以更轻松地处理命令行选项。这应该教会你很多关于找到正确的UI隐喻以及如何实现它的方法。

答案 1 :(得分:3)

即使是简单的即时通讯应用程序也会有一些有趣的问题需要解决,例如:

  • 异步网络通信并在GUI中处理这些事件
  • 创建自定义控件(例如,状态和头像的联系人名单)
  • 使用shell拖放进行文件传输
  • 桌面通知(传入消息)和其他桌面集成功能(可能在窗口中处理发送到)
  • 管理配置状态
  • 提供电源感知 - 您的应用应该在计算机进入待机状态之前与服务器断开连接
  • 处理用户空闲事件
  • 使用富文本消息编辑器创建聊天窗口

很酷的东西!

答案 2 :(得分:3)

差异查看器怎么样?获得基础知识应该非常简单,但除此之外应该有很多机会来改进GUI(请注意,好的差异查看器中已经存在其中一些功能,例如MeldKdiff3) :

  • 滚动以使差异尽可能彼此接近(如果已删除/添加行,则不是很简单)
  • 使用GeSHi
  • 等现有库突出显示语法
  • “压缩”文本的选项,该文本与任何差异至少X行
  • 优雅处理不同的编码/行结尾
  • 翻转左/右窗格
  • 三向差异
  • 目录差异
  • 在差异线之间平滑“tube

答案 3 :(得分:2)

使用Eclipse Rich Client Platform创建一个旧的Web应用程序。至少可以说这应该是有趣的。

答案 4 :(得分:1)

对于令人兴奋的桌面GUI编程世界(仍然完全时髦)的精彩介绍项目,您可以为应付账款类型操作编写一个简单的发票管理工具。确保包含大量报告选项。

严肃地说,我首先尝试为您喜欢的命令行工具创建GUI。那个或pong的实现。 Pong总是很有趣。

答案 5 :(得分:1)

  1. 文件浏览器
  2. 时钟应用
  3. 计算器

答案 6 :(得分:1)

一个好的桌面应用程序将是一个游戏。 ;-)然后,许多游戏正在向互联网连接发展,但往往拥有自己的互联网逻辑。你可以先创建一个漂亮的卡片游戏,然后转向跳棋或简单的国际象棋引擎。
这可能听起来很傻,但优秀的程序员可以创造有趣的游戏。这是真正的项目之间的一个很好的练习。