关于用户界面:我从哪里开始学习GUI编程?

关于用户界面:我从哪里开始学习GUI编程?

Where do I start learning about GUI programming?

我对C / C,Java和Python等编程语言非常了解。但是他们大多是在大学/高中教室里学习的,最好的用户界面是带有编号的菜单。您知道标准数据结构,各种算法的实现,文件处理等。

我现在要做的是进入GUI编程。我不确定是否要问对的方法,但是我正在考虑使用WIMP范例(Windows图标菜单指针)。我想放置按钮和表格。我相信事件驱动的编程是正确的词,我的应用程序将等到用户单击某些内容,键入某些内容等之后。

鉴于我的背景,哪里是一个不错的起点?我正在查看以下要求-

1>最好是跨平台的。
2>许多文档,教程以及可能的示例代码,我可以从中学习
3>一个不错的GUI生成器工具,可以在其中以我希望它们显示的方式拖放东西。

有什么想法或建议可以帮助我入门吗?


我将尝试《关于面子:用户界面设计的精髓》一书,该书集中于UI设计实践以及考虑用户目标(即用户想要完成的目标)的设计用于"开发人员GUI设计"。

它还回顾了Microsoft,Apple和其他公司有关GUI设计的一些历史。诸如MacOsX的默认值(通常位于接受和取消按钮等)之类的东西,以及其下的原因。

我还将查找适用于Microsoft的Office 2007 UI设计指南,因为它可能"会成为一件事情"。


Shoes for Ruby是跨平台的,非常简单,它是构建窗口和处理其中发生的事件的简要介绍。也很有趣:)


有许多特定于语言和UI框架的资源可供有兴趣构建应用程序UI的人使用。但是,在深入研究特定技术之前,需要学习很多有关人机交互及其在用户界面设计中的应用的知识。要查看的一些参考资料:

  • http://www.useit.com/
  • 日常用品的设计(书)
  • http://worrydream.com/MagicInk(需要一段时间才能加载,但非常值得)

在研究了什么是好的UI之后,现在该探讨如何:

  • Mozilla XULRunner
  • 如果您决定使用Java Swing,我强烈建议您使用相对布局管理器

当然有很多选择,包括QT,Fltk和SWT


您正在寻找Qt。这是一个跨平台的C GUI框架,它包含您要求的所有内容以及其他内容。

只要您正在使用GPL,开源项目就可以免费使用。


看看Glade和Gtk。两者都很容易使用。 Glade是GUI生成器,而Gtk是工具包。它既是跨平台的,也是跨语言的。您可以使用几乎任何语言加载Glade文件。这是Glade / Gtk教程


最近我在想完全相同的事情。 Qt看起来像是一个很好的跨平台GUI框架,而Python看起来像是一种可以使用的好语言。

所以PyQt是我的(未受过教育的)建议。它确实包含一个拖放式GUI设计工具。


Netbeans是跨平台的,虽然它以Java开发人员为中心,但是您可以轻松安装插件来与C / C,Ruby等一起使用。我将其用于开发Swing GUI程序,因为它具有非常简单的界面,拖放GUI创建。有很多关于使用Java Swing开发的很好的文档,而且我敢肯定也有很多关于使用Netbeans的文档。


Java的Swing API是跨平台的并且相对简单,而NetBeans是很好的GUI构建器。


由于您已经了解Java,因此应该在此处查看Swing API,它提供了一套功能强大的软件包,可用于创建复杂的GUI。而且,它的跨平台,大量的文档,并且可以与Netbeans IDE一起使用。


很多年前,我使用Visual Basic在该领域取得了最快的进步。我认为仍然很容易上手,并且代码/运行/调试周期的效率很高,并且您会很快学到很多有用的东西。大量的文档以及您想要的所有其他优点...


我将研究C#.NET开发及其WinForms API。与Win32 API相比,使用Windows编写GUI桌面应用程序要容易得多。如果仍然有用,您以后可以随时使用Win32 API。

对于跨平台解决方案,请查看Gtk,也许是PyGtk。另一个不错的是WxWidgets。

如果您想变得特别时髦,请查看Ruby专用鞋。


推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    Lucene学习之高亮显示

    Lucene学习之高亮显示,索引,字符,在搜索引擎中我们经常会看到这样的情景: 红色部分我们称之为高亮显示,lucene提供了HighLighter模块来实

    车载电脑系统编程|车载电脑操作系统

    车载电脑系统编程|车载电脑操作系统,,1. 车载电脑操作系统白名单的概念与“黑名单”相对应。白名单是设置能通过的用户,白名单以外的用户都

    台式电脑编程|台式电脑编程方便吗

    台式电脑编程|台式电脑编程方便吗,,台式电脑编程方便吗学习电脑锣cnc编程大约分为以下阶段:第一阶段:学徒期①熟悉机床的操作,保养,以及检具、

    新手如何学习计算机知识(快速入门)

    新手如何学习计算机知识(快速入门),,作为一个初学者,因为我忙于工作和家庭的原因,我没有太多的时间去计算机培训班,但我想熟悉计算机操作和计算

    学习游戏两宜3000元菜鸟超频主机

    学习游戏两宜3000元菜鸟超频主机,,在英特尔中的主流新产品的推出,旧产品将面临洗牌。目前,奔腾双核E2180处理器的价格已经降至430元,而奔腾e2

    zb编程快捷键|zb操作快捷键

    zb编程快捷键|zb操作快捷键,,1. zb操作快捷键取消上一步的编辑操作指令,即撤销。 返回上一步的快捷键是Ctrl+Z。2. zb设快捷键天正建筑命

    如何学习PP点(图2)

    如何学习PP点(图2),,再次输入密码,按GO你可以立即着陆(图1-5): 图1-5 着陆后,PP的主界面出现(图1-6): 图1-6 搜索 当成员进入PP时,点击主界面右上

    电脑维修学习网站|电脑维修自学网

    电脑维修学习网站|电脑维修自学网,,电脑维修自学网有的,建议多努力学习一些知识和本领,等出来可以自己租电脑维修,手机维修等工作,收入不错 电