Qt 5关于QT/QML和Widget自定义的一般问题

Nim*_*od7 3 qt

我是一名iOS/Cocoa开发人员,希望将我的一个应用程序移植到PC平台.我不关心编写多平台并维护一个应用程序.我将继续使用cocoa和cocoa touch进行iOS Mac开发.我选择将QT 5用于PC,我不确定它是否明智的选择但是它很容易理解c ++.如果不是请指出我正确的方向.

我的应用程序并不是非常复杂,但需要一些特殊的自定义,例如看起来像iOS表格视图的ListView,使用带有Twitter引导程序样式搜索框的自定义圆形窗口,我想监视一些全局OS事件,如击键,以及用户的其他应用程序目前正在与...合作.我也使用SQLite和AES加密.

我的问题是关于UI定制.

  1. 我应该开始学习并使用QML吗?我不确定究竟是什么,看起来非常简单的CSS,但我感觉更多是为嵌入式设备而设计并且有局限性......

  2. 如果我使用QML,我是否可以获得QT的全部功能?

  3. 我还有哪些其他选项可以使用QML来定制小部件(例如,在目标C中,我们使用子类化和绘制我们想要的任何内容或处理事件......)

  4. 我在Windows平台上缺乏经验.我应该使用VisualStudio C++而不是QT5吗?随着所有权的变化,我感到有些不安全.

ixS*_*Sci 6

  1. 是的你应该.QML是声明性语言,允许在其中执行javascript.你几乎可以做任何与QML相关的UI.如果你没有某个特定的UI元素,你可以用普通的C++(Qt)绘制它并在QML中使用它.所以QML是目前Qt开发的最佳选择.它不像CSS,它更强大.
  2. 是的,你拥有Qt所拥有的所有功能以及声明性语言可能提供的额外功能 - 简化了UI开发过程以及UI和逻辑的现代分解.
  3. 你在普通的C++ Qt中有这个选项,你可以子类化widget,重绘它们,改变行为等.这种方法不如QML.
  4. 这一点没有意义.有些人认为Visual C++就像错误的单独语言一样.您可以将Visual C++视为C++ + MS编译器的一些小扩展.但是作为GCC C++引用是荒谬的.因此,如果您使用免费提供的Qt集成加载项,基本上您可以使用Visual Studio和Qt几乎没有痛苦.或者你可以选择Qt创建者,有些人认为它优于MSVS.这取决于你选择什么,但我相信新手使用Qt创建者更简单.但是请注意,你需要有一些编译器,因为Qt creator只是一个IDE它应该使用一些第三方编译器(MS或GNU编译器)