QT4与.Net相比如何?

时间:2010-10-11 19:21:39

标签: .net qt qt4

好奇。有没有人有这两方面的经验。我的直觉是QT对于跨平台应用程序更好,但UI不会那么光滑。 QT更快,因为它编译为没有虚拟机的本机代码?我认为QT也是C ++所以不受管理,所以内存泄漏的可能性更大等等?

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

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

如果我想开发一个只有非UI应用程序才能使用.Net?

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

2 个答案:

答案 0 :(得分:3)

  

我的直觉是QT更好   用于跨平台应用程序

绝对。 Qt是跨平台的,真实的。 (当然,有Mono可以让你在Linux上运行.NET应用程序......)

  

但是UI不会那么光滑

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

  

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

也许,这有关系吗?可能不是(顺便说一句,我不会很快说.NET必然会变慢,我确信它确实有更好的表现。)

  

我认为QT也是C ++如此不受管理,所以内存泄漏的可能性更大等等?

Qt的代码库中?很少,如果有的话。在你的?可能。

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

答案 1 :(得分:0)

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

  • GTK#在linux上运行得最好,在windows上运行得很好
  • WPF只是windows atm
  • WinForms在Windows上是原生的,但是在Linux上使用C#编写的控件,因此看起来不是原生的。

使用GTK#,您可以获得不错的便携性,前提是您的Linux用户由于惯常原因而无法避免使用Mono。