hengke 发表于 2006-6-22 17:21:05

如何编写跨平台的图形界面的程序?

问题1:如何编写基于X Windows System的跨平台(Linux的GNOME、KDE、Xfce4等等、Unix的Solaris上的CDE等等、FreeBSD等等桌面环境)?还有Gtk、Qt、Motif等等这些有何区别,跨平台性如何?

问题2:Microsoft Windows 和 X Windows System之间(当然也可以把其他的系统包含进来)如何作跨平台图形开发?

问题3:我如何做才能使我的软件代码写一次便可以在很多系统中运行,主要考虑图形开发?

欢迎大家就这一方面的问题进行讨论!

sejishikong 发表于 2006-6-22 18:15:20

用gtk/qt/motif/xlib都可以在x上用.

如果想在windows和X间做跨平台,推荐qt,也可以考虑gtk2或wx.

3就只能用java或python了.

mozilla 发表于 2006-6-22 20:16:20

openoffice有跨平台的图形接口

rushrush 发表于 2006-6-24 13:56:27

openoffice?:shock:

AnthonyLee 发表于 2006-6-25 02:10:13

Re: 如何编写跨平台的图形界面的程序?

问题1:如何编写基于X Windows System的跨平台(Linux的GNOME、KDE、Xfce4等等、Unix的Solaris上的CDE等等、FreeBSD等等桌面环境)?还有Gtk、Qt、Motif等等这些有何区别,跨平台性如何?

问题2:Microsoft Windows 和 X Windows System之间(当然也可以把其他的系统包含进来)如何作跨平台图形开发?

问题3:我如何做才能使我的软件代码写一次便可以在很多系统中运行,主要考虑图形开发?

欢迎大家就这一方面的问题进行讨论!

问题1:
基于X Window的跨平台开发,如果只涉及到Xlib/Xt的话
(注意XFree86/Xorg的一些东西未必在其它X下会支持),
那么只要X Window能在那个平台上运行并提供有开发库的话
一般都能适用;如果还涉及其它系统接口的话则很难说。

GTK - 由 GIMP 发展起来的一套 C ToolKit,比起 Motif 来说有很大的进步,
应用比较突出的比如GIMP和GNOME,目前在X Window环境中应用较多,
其它如Win32API,FramBuffer等环境的移植仍在速度上有所落后。
QT - 商业公司发展的 C++ Toolkit,应用比较突出的比如KDE,单只图形的话
其跨平台开发也很完善,不过个别平台需要购买。
Motif - 由 X ToolKit 扩充起来的 C Toolkit,以前大部分Unix平台的专业软件
都用这个来写,但随着时间的变迁,这个已经越来越少用了。

问题2:
在Linux还要用Microsoft Windows的Win32API/MFC等时你可以选用WINE的开发库,
在Microsoft Windows还要用X Window的Xlib/Xt时可以选用MinGW+Xming或Cygwin等

问题3:
要看你的应用范围,没有什么东西是万能的。
如果只是Linux/Windows的图形开发的话,
GTK和QT都应该可以满足你的要求。

wxMidnight 发表于 2006-6-25 13:51:53

推荐wxWidgets,在linux上可能慢些(它是建立在GTK+基础之上的),Windows下则非常快,应该是优于QT。

mozilla 发表于 2006-6-25 21:39:57

openoffice?:shock:
openoffice的vcl

mozilla 发表于 2006-6-25 21:50:10

openoffice?:shock:
openoffice的vcl

stlxv 发表于 2006-10-24 17:03:49

vcl????????

snnn 发表于 2006-10-24 18:37:45

推荐wxWidgets,在linux上可能慢些(它是建立在GTK+基础之上的),Windows下则非常快,应该是优于QT。

wxWidget有很多个port,未必要用gtk

cavendish 发表于 2006-10-25 18:29:40

Qt 4在windows/x11/mac/linux embedded都有gpl版本
你可以试试

和尚娶媳妇 发表于 2006-10-30 13:23:02

俺用GTK

dzho002 发表于 2006-10-30 18:01:19

图形操作说到底只是对一个二维数组的操作, 其主要算法和工作量都与平台无关。和具体平台打交道的部分只是输入(控制)/输出(显示)。 如果你能做到数据/算法和显示分离,即使要针对不同平台写GUI,工作量也是比较小的。
可以考虑使用一些有跨平台能力的图形引擎。比如说agg。
http://www.antigrain.com/
看了看他的demo, 真的知道什么叫高手 :oops:
页: [1]
查看完整版本: 如何编写跨平台的图形界面的程序?