Qt 4是一种编程语言吗?

coo*_*ego 13 qt4

Qt 4是一种编程语言吗?它可以被视为Java和Python的替代品吗?它可以用于在Linux中开发用户交互软件吗?

Ser*_*nov 35

Qt根本不是一种编程语言.

" 官方网站称, Qt是面向桌面,嵌入式和移动的跨平台应用程序开发框架" .我讨厌"框架"这个词,因为它可以指代太多的东西,而不是"系统"这个词,但足以让事情变得令人困惑."Qt"中的"t"代表"工具包",它更好地描述了它.它实际上是一套工具.它也写成"Qt",而不是"QT".后者代表Apple QuickTime,与编程无关,尽管即使是Qt用户也经常犯这个错误.

如果将Qt描述为工具包并不能比"框架"这个词更清楚地阐明事物,那么这里是Qt包含的非详尽工具列表:

  • 主要组件是一组库,用C++本地编写.这些库包括:核心库提供最重要的东西,GUI库令人惊讶地提供GUI组件,网络库,XML库等等.
  • MOC工具,它是一个用C++生成一些样板代码的程序,与核心库提供的一些宏一起使用.这稍微扩展了C++,添加了更强大的RTTI等功能,类似于C#中的事件/委托的信号/插槽机制允许类型安全回调,插件/接口机制提供了一种通过实现预定义接口来扩展应用程序的方法.
  • GUI设计器工具和UIC.Qt Designer是一个可视化创建GUI并将其保存到XML文件的图形工具,UIC是一个命令行工具,用于将这些XML文件转换为C++代码.
  • 国际化应用程序的工具,即Qt Linguist,lupdate工具和lrelease工具.lupdate提取要从C++代码转换为XML文件的文本字符串,Qt Linguist是一个图形工具,供翻译人员编辑这些XML文件并提供翻译,并将lrelease翻译后的文本编译成二进制文件,以便在运行时由Qt应用程序加载.
  • 资源编译工具,用于将各种数据文件(如图片和声音)集成到可执行文件中,在其中形成虚拟文件系统.
  • qmake工具用于自动化构建过程,因此您不必手动运行MOC,C++编译器,UIC和其他东西.
  • Qt Creator,一个图形IDE,用于将上述所有内容集成到一个环境中.

使用便携式C++编写并使用Qt的程序可以重新编译,而不需要对Qt支持的任何平台进行任何更改.这包括Windows(至少XP及更高版本),Linux(几乎任何发行版),Mac,各种Unices,如FreeBSD,HP-UX,Solaris等等.

Qt的本地语言是C++,但是为其他语言提供了绑定,其中许多语言都是如此.其中一些绑定是由Trolltech(现在是诺基亚)提供的,有些是由第三方提供的.绑定不是其他语言的Qt的替代实现,而是允许使用C++ Qt二进制文件的那些语言的特殊附加组件.这可能导致许多麻烦,界面差异和各种低效率,但这并不意味着它们不能或不应该被使用.只是C++仍然是Qt的主要语言.