最近嘗試了多種linux下的GUI編程方法,包括:
1. TkInter (基於Python語言)
在Ubuntu下須要安裝Python-tk。簡單的例子以下:
----------------------------------------------------
#!/usr/bin/env python
from Tkinter import *
root = Tk()
minutes = Label(root, text="Minutes:")
minutes.pack(side = LEFT)
scale = Scale(root, from_=1, to=45, orient=HORIZONTAL, length=300)
scale.pack()
button = Button(root, text="Start timing", command=quit)
button.pack(side="left")
root.mainloop()
----------------------------------------------------
保存上述程序爲文件如eggtimer, 在命令行下運行$ python eggtimer,能夠看到GUI的窗口。
可是,深刻的學習應該從Python開始。Python編程發張迅速,由於簡單,清晰易學以及大量的庫存在而有助於快速的市場響應。
2. wxWidgets (基於圖形庫)
程序例子見:http://www.wxwidgets.org/docs/tutorials/hworld.txt
關於該程序的描述見:http://www.wxwidgets.org/docs/tutorials/hello.htm
安裝方法以下:
$apt-get install libwxgtk2.8-dev libwxgtk2.8-dbg
編譯: $wx-config --cxxflags | xargs g++ -c helloworld.cpp
連接:$wx-config --libs | xargs g++ -o helloworld helloworld.o
進一步的學習應該參考wxWidgets的網站和好的書籍。
3. GTK (GIMP Toolkit)
GIMP - GNU Image Manipulation Program
GTK, 是用於建立用戶圖形界面的庫,採用LGPL license。
使用GTK須要安裝,libgtk2.0-dev,下面是一個例程以及編譯方法:
----------------------------------------------------
#include <gtk/gtk.h>
int main( int argc,
char *argv[] )
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);
gtk_main ();
return 0;
}
----------------------------------------------------
編譯方法:
$pkg-config --cflags gtk+-2.0 | xargs gcc -Wall -g -c helloworld.c
$pkg-config --libs gtk+-2.0 | xargs gcc -o helloworld helloworld.o
4. Qt (cute)
跨平臺應用程序開發構架。
安裝qt3-dev-tools ... ...何嘗試...
附:
GPL和LGPL原文至關繁瑣,網上有一些好的闡述方便咱們的理解:
<<GPL和LGPL>>
http://kang.javaeye.com/blog/429514
<<關於GPL和LGPL>>
http://blog.csdn.net/flowingflying/archive/2010/03/16/5386069.aspx
<<The differences between the GPL, LGPL and the BSD>>
http://fosswire.com/post/2007/04/the-differences-between-the-gpl-lgpl-and-the-bsd/
java