首先,也是最重要的,从简单开始。这个话题有很多内容。如果你觉得很难,不要试图一下子接受它。
大多数优秀的 GUI 软件包都有教程。我能给出的最好建议是你尝试每一个,或者至少尝试其中几个。它们是对您选择的图书馆的最好简短介绍,如果它们有任何好处,它们会缩小您首先需要吸收的内容。这会给你一些比较的基础,因为他们每个人都在尝试做非常相似的事情(在完成之前你会看到其中一些),但他们有不同的感觉。您可能会发现您对其中一种有偏爱,并且需要认真对待。它还会让您了解 GUI 编程的难点:separate从一个包装的细节来看,如果你只使用过一个,你就不会看到它。就我个人而言,我发现这类知识非常有帮助,因为它让我不再被细节吓倒。
以下是一个地方的教程列表,尽管您可能已经看过它们:
- Qt的教程 https://doc.qt.io/qt-5/qtexamplesandtutorials.html
- WxWidgets 的教程 http://www.wxwidgets.org/docs/tutorials.htm
-
GTKMM 书 http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/index.html. Not quite一个教程,虽然有很多例子。
- .NET 教程,适用于 WinForms 或 WPF。
其次,在我看来,你需要深入了解conceptsGUI 编程的一部分,而不仅仅是特定的库。在这里,书是无可替代的。我不太了解所有这些工具,但其中最好的不仅会教您工具包的细节,还会教您一般概念以及如何使用它们。不过,这里有一些可以开始的列表(一旦你有了标题,亚马逊和 Stack Overflow 将帮助你选择一个):
- Qt 书籍列表 http://www.qtsoftware.com/developer/books
-
WxWidgets 书 http://www.wxwidgets.org/docs/book/ (PDF版本 http://www.informit.com/content/images/0131473816/downloads/0131473816_book.pdf)
- 有大量的 WPF 和 WinForms 书籍。不幸的是我不能在这里提出好的建议。
第三,利用设计工具(Qt Creator、VS的表单构建等)。Don't首先尝试通读它们生成的所有代码:首先运行您自己的小程序。否则很难知道什么对基本程序重要,什么不重要。细节会丢失。一旦你掌握了基础知识,Do使用它们作为参考来学习如何实现特定效果。如果您可以在设计工具中使用一些东西,那么您可以看看特别的他们生成的代码可以尝试您自己的手写程序。它们对于中级学习非常有用。
我不太热衷于学习一堆只适用于 Qt 平台本身而不是更普遍的东西。
我附议comment https://stackoverflow.com/questions/1189084/whats-the-c-gui-building-option-with-the-easiest-learning-curve-vs-qt-wxwidg/1189334#1189334GRB在这里:不用担心这个。无论您使用哪个工具包,您都需要学习许多特定于该工具包的知识。但你也会学到很多东西general使用任何像样的工具包进行 GUI 编程,因为它们必须涵盖许多相同的内容。布局、事件、小部件/控件之间的交互、了解计时器——这些都会出现在您使用的任何 GUI 工具包中。
但是请注意,任何严肃的 GUI 包is时间的投资。如果您决定选择一个软件包,那么学习第二个软件包会更容易,但是每个大型图书馆都有其个性,您的大部分时间将花在学习它的怪癖上。我认为,这是处理任何复杂主题的必然条件。
我想我可以避免使用 Qt 类,除了 GUI 类,我必须使用它们,但我不知道这样做是明智还是不明智。
您不需要 Qt 的大多数非 GUI 类即可正确使用 Qt 的 GUI。有一些例外(例如QVariant
)您需要它只是因为 GUI 类使用它们。我发现你可以根据具体情况来学习这些内容。