QT4与.Net的对比

问题描述:

只是好奇而已。有没有人有两个经验。我的直觉是,QT对于跨平台应用程序更好,但UI不会很光滑。另外QT是因为它编译为没有虚拟机的本地代码而更快?我认为QT是C++如此非托管,所以有更多的内存泄漏等机会?QT4与.Net的对比

如果我想为跨平台使用QT4开发非UI或控制台应用程序?

如果我想开发一个跨平台使用QT4的UI应用程序?

如果我想开发一个仅适用于Windows的非UI应用程序,请使用.Net?

如果我想为Windows应用程序开发一个专业的用户界面使用.Net?

+1

你应该比较QT4与WPF我认为。 .NET是一个完整的平台,它本身不涉及UI – Eilistraee 2010-10-11 19:24:05

+0

QT4也是一个完整的应用程序平台,所以我认为比较是有效的。 – Kenoyer130 2010-10-11 19:29:57

+0

QT处理动态分配的对象是非常一致的,大多数情况下,对象的父对象将处理释放所有资源,因此,如果您自己正确处理*对象,则不会有任何内存泄漏。 – smerlin 2010-10-11 19:34:52

我的直觉是,QT是跨平台的应用

当然更好 。 Qt是真正的跨平台的。 (当然,有单声道,使您能够在Linux上运行.NET应用程序...)

但用户界面不会像光滑

取决于你是多么注重细节。 Qt使用本地API绘制它的小部件(过去它并没有导致它的UI看起来很奇怪),这意味着它的UI大部分看起来很不错。可能有一些小部件看起来不像您可能在WinForms工具箱中找到的控件,但那是因为它们是不同的框架。

是QT更快,因为它编译为本地代码,没有虚拟机?

也许,重要吗?可能不会(顺便说一句,我不会很快地说.NET必然会变慢,我相信有些地方实际上表现更好)。

我认为QT是C++如此非托管,所以有更多的机会内存泄漏等?

Qt的代码基?很少,如果有的话。在你的?大概。

我会说这是.NET最大的优势之一 - 你可以用C#编写。这是一个更容易学习的语言,你会得到像自动内存管理,巨大的标准库,最好的IDE之一和一个非常好的设计师(尽管Qt有Creator)等等。 (当然,如果你的目标是Linux,这是一个不同的故事)。

有几个.net的GUI工具包,比如WinForms,WPF和GTK#。

  • GTK#最适用于Linux和体面的窗户
  • WPF是仅适用于Windows ATM
  • 的WinForms是原生的Windows,但使用C#编写的Linux上的控制,因此不看起来在那里。

使用GTK#,您可以获得体面的可移植性,前提是您的Linux用户不会因为个人原因而避免使用Mono。