Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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 在visualc#中的Gtk,尝试了一切。我是否将无法开发跨平台应用程序?_Qt_Cross Platform_Gtk - Fatal编程技术网

Qt 在visualc#中的Gtk,尝试了一切。我是否将无法开发跨平台应用程序?

Qt 在visualc#中的Gtk,尝试了一切。我是否将无法开发跨平台应用程序?,qt,cross-platform,gtk,Qt,Cross Platform,Gtk,我想使用跨平台的用户界面开发软件,这样我就不会受到Windows的限制 我已经尝试过Monodevelop,但是这个程序有严重的错误,并且变得无用。它在启动时挂起,永远不会痊愈,我必须重新启动,因为无懈可击的“mono.exe”进程吞噬了我的计算机生命,使其无法使用 我已尝试手动添加Gtk Sharp库,但发现错误“libgtk-win32-2.0-0.dll”。现在,我已经安装了最新版本的GTK,我甚至尝试将所有与GTK相关的dll放在我的系统文件夹和程序集目录中 帮助被大大赞赏 < P>如果

我想使用跨平台的用户界面开发软件,这样我就不会受到Windows的限制

我已经尝试过Monodevelop,但是这个程序有严重的错误,并且变得无用。它在启动时挂起,永远不会痊愈,我必须重新启动,因为无懈可击的“mono.exe”进程吞噬了我的计算机生命,使其无法使用

我已尝试手动添加Gtk Sharp库,但发现错误“libgtk-win32-2.0-0.dll”。现在,我已经安装了最新版本的GTK,我甚至尝试将所有与GTK相关的dll放在我的系统文件夹和程序集目录中


帮助被大大赞赏

< P>如果你认真考虑开发跨平台的应用程序,请留下C!给你一个机会去CC++

IMHO,你最好的选择是Qt。原因如下:

  • 它易于学习和使用,而且非常直观
  • 它是跨平台的——不仅可以在三巨头(Windows、Mac OSX、Linux)上运行,而且通过Qt Embedded,您可以在各种移动设备上部署它(这里的关键词是各种)
  • 它的功能非常广泛:GUI(当然)、2D图形、打印机、数据库、网络访问(从套接字到SSL和HTTP)、国际化等等。通常,如果您使用的是Qt,则不需要其他任何东西
  • 它是用C++编写的,编译成机器代码,比java和C语言快。
  • 它是LGPL许可的,因此您可以使用它开发开源或专有应用程序
  • 试一试,这里有一个链接:

    另外,我敦促您启动SDK附带的演示,它们令人印象深刻:)

    C#将很难跨平台使用,除非您愿意放弃Linux。如果您使用Siverlight 3或4(运行时/SDK均免费),您可以在Windows和Mac上运行Silverlight项目(甚至作为桌面应用程序)。它实际上是一种很好的编程语言,可以让你轻松地完成很多有趣的UI。不过,Linux的Mono端口在Silverlight上往往落后一两个版本,所以在这方面你不会有太多运气

    如果您更喜欢内存管理语言,并且有很多理由可以这样做,那么Java有很多跨平台开发的方法


    Qt很好——我目前正在将它用于移动linux和windows应用程序,但它并不完美。在版本4.5中,在显示图标之前,内存泄漏,如果你不习惯C++,语法有时会令人沮丧。即使你是这样,有时候这也是一个有趣的猜谜游戏,比如Qt什么时候为你清理(如果你先删除东西就会生气),什么时候你独自一人。这些规则在理论上很简单(小部件删除它们的子部件),但我发现它不太可靠。

    Java也是可移植的,非常流行;但是有很多选择:每次有人用Java写东西,上帝就会杀了一只小猫。而且这不会给可怜的windows用户留下蹩脚的工具。尝试过QT,但C#的唯一端口是linux。否则,它是C++独占。嗯,有些其他语言,比如python,有一些绑定,但是我不熟悉。但是,是的,你必须抛弃C语言。坦白说,我不相信你能用C语言编写真正的跨平台程序。我不想启动holywar,但C#由微软控制,微软将确保他们的平台首先获得新功能,可能比其他平台早一两年。虽然苹果可以与MS达成协议,但Linux用户不能:(如果你不想因为内存管理而需要C++,我建议JavaQT实际上是针对很多不同的语言的。