【问题标题】:Where do I start learning about GUI programming? [closed]我从哪里开始学习 GUI 编程? [关闭]
【发布时间】:2010-09-10 10:39:16
【问题描述】:

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

我现在想做的是进入 GUI 编程。我不确定我问的方法是否正确,但我正在考虑使用 WIMP 范例(Windows 图标菜单指针)。我想放置按钮和表单。事件驱动编程,我相信是正确的词,我的应用程序等待用户点击某些东西,输入某些东西等。

鉴于我的背景,从哪里开始比较合适?我正在查看以下要求 -

1> 最好是跨平台。 2> 大量的文档、教程和示例代码,我可以从中学习 3> 一个很好的 GUI 构建器工具,我可以在其中以我希望的方式拖放内容。

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

【问题讨论】:

  • 这个问题似乎正是我想问的,但答案却不是我所期望的。我原以为会有更多关于在哪里了解事件驱动模型以及如何组织 GUI 代码的信息(每个窗口是否最终成为自己的类然后实例化,或者如果不是,你如何组织单独窗口的菜单和控件)等。但是,我也不想创建重复的问题。

标签: user-interface


【解决方案1】:

我会试试About face: Essential of User Interface Design 这本书,它以 UI 设计实践为中心,并且在设计时考虑到了用户目标,即用户想要完成什么,试图让你远离“开发者 GUI”设计”。

它还回顾了一些来自 Microsoft、Apple 和其他公司的 GUI 设计历史。诸如 MacOsX 的默认设置(通常位于接受和取消按钮的位置等)以及其下方的原因。

我还将查找 Microsoft 的 Office 2007 UI Design Guidelines,因为它可能“将成为一件事”。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我的票都没有了,但我会回来投票:)
    【解决方案3】:

    您正在寻找Qt。它是一个跨平台的 C++ GUI 框架,它包含您所要求的一切以及更多内容。

    如果您使用 GPL,开源项目可以免费使用它。

    【讨论】:

      【解决方案4】:

      有大量特定于语言和 UI 框架的资源可供对构建应用程序 UI 感兴趣的人使用。然而,在深入研究特定技术之前,有很多关于人机交互以及它如何应用于用户界面设计的知识。一些参考资料:

      在研究了什么造就了一个好的用户界面之后,是时候探索如何了:

      当然有很多选择,包括QTFltkSWT

      【讨论】:

        【解决方案5】:

        我最近也在想同样的事情。 Qt 似乎是一个很好的跨平台 GUI 框架,而 Python 似乎是一种很好的工作语言。

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

        【讨论】:

          【解决方案6】:

          看看GladeGtk。两者都非常易于使用。 Glade 是 GUI 构建器,而 Gtk 是工具包。它既是跨平台的,也是跨语言的。您可以加载几乎任何语言的 Glade 文件。这是Glade/Gtk tutorial

          【讨论】:

            【解决方案7】:

            我会研究 C# .NET 开发及其WinForms API。使用它为 Windows 编写 GUI 桌面应用程序比使用 Win32 API 容易得多。如果它仍然相关,您可以随时轻松进入 Win32 API 内容。

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

            如果您想变得更时髦,请查看Shoes 的 Ruby。

            【讨论】:

              【解决方案8】:

              多年前,我使用 Visual Basic 在这方面取得了最快的进展。我认为它仍然很容易上手,并且代码/运行/调试周期非常高效,您将很快学到很多有用的东西。大量文档,以及您想要的所有其他好东西...

              【讨论】:

                【解决方案9】:

                既然您已经了解 Java,您应该查看 Swing API here,它提供了一组非常强大的包,可用于创建复杂的 GUI。此外,它的跨平台,有大量的文档,它可以与 Netbeans IDE 一起使用。

                【讨论】:

                  【解决方案10】:

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

                  【讨论】:

                    【解决方案11】:

                    Netbeans 是跨平台的,虽然它以 Java 开发人员为中心,但您可以轻松安装插件以使用 C/C++、Ruby 等。我用它来开发 Swing GUI 程序,因为它有一个非常简单的界面拖放 GUI 创建。有很多关于使用 Java Swing 进行开发的优秀文档,我相信也有很多关于使用 Netbeans 的文档。

                    【讨论】:

                      猜你喜欢
                      • 2011-03-23
                      • 1970-01-01
                      • 2012-01-26
                      • 2011-01-02
                      • 1970-01-01
                      • 2010-10-02
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多