Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 5关于Qt/QML和小部件定制的一般问题_Qt - Fatal编程技术网

Qt 5关于Qt/QML和小部件定制的一般问题

Qt 5关于Qt/QML和小部件定制的一般问题,qt,Qt,我是一名iOS/Cocoa开发者,希望将我的一个应用程序移植到PC平台。我不喜欢编写多平台代码并维护一个应用程序。我将继续使用cocoa和cocoa touch进行iOS Mac开发。 我已经选择使用QT 5的PC,我不知道它是否明智的选择,但它的简单,我可以理解C++。如果不是,请告诉我正确的方向 我的应用程序不是非常复杂,但需要一些特殊的定制,例如,ListView看起来像iOS表视图,使用带有twitter引导式搜索框的定制圆形窗口,我想监控一些全局操作系统事件,如击键,以及用户当前使用的

我是一名iOS/Cocoa开发者,希望将我的一个应用程序移植到PC平台。我不喜欢编写多平台代码并维护一个应用程序。我将继续使用cocoa和cocoa touch进行iOS Mac开发。 我已经选择使用QT 5的PC,我不知道它是否明智的选择,但它的简单,我可以理解C++。如果不是,请告诉我正确的方向

我的应用程序不是非常复杂,但需要一些特殊的定制,例如,ListView看起来像iOS表视图,使用带有twitter引导式搜索框的定制圆形窗口,我想监控一些全局操作系统事件,如击键,以及用户当前使用的其他应用程序。我还使用SQLite和AES加密

我的问题是关于用户界面定制

  • 我应该开始学习并使用QML吗?我不确定它到底是什么,看起来非常简单的CSS,但我感觉它更适合嵌入式设备,并且有局限性

  • 如果我使用QML,我是否可以访问QT的全部功能

  • 我还需要哪些其他选项来定制小部件,而不是使用QML(例如,在objective C中,我们使用子类化和绘制我们想要的任何东西或处理事件…)

  • 我对windows平台缺乏经验。我应该使用VisualStudioC++代替QT5吗?随着所有权的变化,我感到有点不安全


  • 您可以使用QML桌面组件轻松构建应用程序:

    无论如何,我建议您使用Qt小部件和Qt样式表来装饰您的小部件:

  • 是的,你应该。QML是一种声明性语言,允许在其中执行javascript。您几乎可以做任何与QML相关的UI。如果没有特定的UI元素,可以用普通C++(Qt)绘制它,并在QML中使用它。因此,QML是目前Qt开发的最佳选择。但它不像CSS,它更强大
  • 是的,您拥有Qt所拥有的所有功能和声明性语言可能提供的额外功能—简化UI开发过程以及UI和逻辑的现代分解
  • <> LI>在纯C++ Qt中有这个选项,可以对小部件进行子类化,重新绘制它们,改变行为等。这种方法不如QML一个。
  • 这一点毫无意义。有些人把Visual C++视为孤立的语言,这是错误的。你可以将Visual C++作为C++来计算,也可以使用MS编译器的一些小扩展。但是引用GCC C++是荒谬的。因此,如果您使用免费提供的Qt集成插件,那么基本上您可以将VisualStudio与Qt一起使用,几乎不费吹灰之力。或者你可以选择QtCreator,有些人认为它比MSV更优秀。选择什么取决于您,但我相信对于新手来说,将Qt-creator与Qt结合使用要简单得多。但请注意,您需要有一些编译器,因为Qt creator只是一个IDE,它应该使用一些第三方编译器(MS或GNU-one)

  • 你应该试着把这些问题分开问。在一篇文章中问多个问题是不可取的。也许除了问题#4之外,这个问题太有争议了,不可能是一个好问题。顺便说一句,Qt Quick(QML)很棒,但对桌面应用程序的支持还不成熟。Qt小部件将提供您想要的东西,我认为您会发现它们更容易学习。至少现在是这样。Qt Quick正在迅速改进。感谢您的评论。我所有的问题(除了4个一般问题)都是关于小部件定制的方法。我不知道为什么我需要对同一主题提出不同的问题。@BillKast你的一些问题可以在@UmNyobe上找到,你能详细阐述你的观点吗?@UmNyobe,这篇文章没有显示任何内容。是的,缺少一些官方的现成组件。但是a)有很多非官方的b)你可以创建任何你需要的组件,你也没有任何东西来支持你的话。任何非官方的都是非标准的,所以无论是QML还是C++都是不算数的。