我从哪里开始学习GUI编程?
我对C / C ++,Java,Python等编程语言非常了解。但是他们大多是在大学/高中教室里学习的,最好的用户界面是带有编号的菜单。我们知道标准数据结构,各种算法的实现,文件处理等。
我现在想做的是进入GUI编程。我不确定是否要问对的方法,但是我正在考虑使用WIMP范例(Windows图标菜单指针)。我想放置按钮和表格。我相信事件驱动的编程是正确的词,我的应用程序会等到用户单击某些内容,键入某些内容等。
根据我的背景,哪里是一个不错的起点?我正在研究以下要求-
1>最好是跨平台的。
2>许多文档,教程以及可能的示例代码,我可以从中学习
3>一个很好的GUI构建器工具,我可以在其中拖放所需的内容。
有什么想法或者建议可以帮助我入门吗?
解决方案
我将研究C.NET开发及其WinForms API。与Win32 API相比,使用Windows编写GUI桌面应用程序要容易得多。如果仍然有用,我们以后可以随时使用Win32 API。
对于跨平台解决方案,请查看Gtk +,也许是PyGtk。另一个不错的是WxWidgets。
如果我们想变得特别时髦,请查看Shoes for Ruby。
许多年前,我使用Visual Basic在该领域取得了最快的进步。我认为它仍然很容易上手,并且代码/运行/调试周期的效率很高,并且我们会很快学到很多有用的东西。大量的文档以及我们想要的所有其他好东西...
Ruby的鞋子是跨平台的,非常简单,它是构建窗口和处理其中发生的事件的简要介绍。也很有趣:)
我最近在想完全相同的事情。 Qt似乎是一个很好的跨平台GUI框架,Python似乎是一种可以使用的好语言。
因此,PyQt是我的(未受过教育的)建议。它确实包含一个拖放式GUI设计工具。
既然我们已经了解Java,那么我们应该在此处查看Swing API,它提供了一套功能强大的软件包,可用于创建复杂的GUI。而且,它的跨平台,大量的文档,并且可以与Netbeans IDE一起使用。
Java的Swing API是跨平台的并且相对简单,而NetBeans是很好的GUI构建器。
我们正在寻找Qt。这是一个跨平台的C ++ GUI框架,它包含我们要求的所有内容以及更多内容。
只要我们使用的是GPL,开源项目就可以免费使用。
我会尝试《关于面子:用户界面设计的精髓》一书,该书的重点是UI设计实践以及在考虑到用户目标的情况下进行设计,即用户想要完成的工作,试图让我们摆脱"开发人员GUI设计"。
它还回顾了Microsoft,Apple和其他公司有关GUI设计的一些历史。 MacOsX的默认设置(通常位于接受和取消按钮等)以及其下方的原因。
我还将查找适用于Microsoft的Office 2007 UI设计指南,因为这可能"会成为一件事情"。
看看Glade和Gtk。两者都很容易使用。 Glade是GUI生成器,而Gtk是工具包。它既是跨平台的,也是跨语言的。我们可以使用几乎所有语言加载Glade文件。这是Glade / Gtk教程
有许多特定于语言和UI框架的资源可供有兴趣构建应用程序UI的人使用。但是,在深入研究特定技术之前,需要学习很多有关人机交互及其在用户界面设计中的应用的知识。一些参考来看:
- http://www.useit.com/
- 日常用品的设计(书)
- http://worrydream.com/MagicInk(需要一段时间才能加载,但非常值得)
在研究了构成良好UI的要素之后,现在该探讨如何:
- Mozilla XULRunner
- 如果我们决定使用Java Swing,则强烈建议使用相对布局管理器
当然有很多选择,包括QT,Fltk和SWT