Qt中Gtk開(kāi)發(fā)環(huán)境與配置
本文講述Gtk與Qt編譯環(huán)境安裝與配置,首先來(lái)認(rèn)識(shí)一下Gtk。GTK+(GIMP Toolkit)是一套跨多種平臺(tái)的圖形工具包,按LGPL許可協(xié)議發(fā)布的。雖然最初是為GIMP寫(xiě)的,但目前已發(fā)展為一個(gè)功能強(qiáng)大、設(shè)計(jì)靈活的一個(gè)通用圖形庫(kù)。特別是被GNOME選中使得GTK+廣為流傳,成為L(zhǎng)inux下開(kāi)發(fā)圖形界面的應(yīng)用程序的主流開(kāi)發(fā)工具之一,當(dāng)然GTK+并不要求必須在Linux上,事實(shí)上,目前GTK+已經(jīng)有了成功的windows版本.
配置基礎(chǔ)開(kāi)發(fā)環(huán)境GCC
剛裝好的系統(tǒng)中已經(jīng)有GCC了,但是這個(gè)GCC幾乎什么文件都不能編譯,因?yàn)槿鄙僖恍┍仨毜念^文件,所以要安裝build-essential這個(gè)軟件包??梢栽谛铝⒌美锩嫠阉鱞uild-essential或輸入下面命令:
- sudo apt-get install build-essential
程序示例
安裝完成后寫(xiě)一個(gè)C語(yǔ)言程序testc.c測(cè)試一下。
- #include<stdio.h>int main(){
- printf("Hello Ubuntu!\n");
- return 0;
- }
編譯運(yùn)行:
- gcc -Wall testc.c -o testc
- ./testc
- Hello Ubuntu!
安裝GTK/GNOME開(kāi)發(fā)環(huán)境
安裝GTK環(huán)境只要安裝一個(gè)libgtk2.0-dev就可以了,而安裝gnome開(kāi)發(fā)環(huán)境的話,需要裝gnome-core-devel,它包含GTK開(kāi)發(fā)包。但在一般情況下,我們需要有一個(gè)ide開(kāi)發(fā)環(huán)境,需要幫助文件,于是我們安裝
- sudo apt-get install gnome-devel gnome-devel-docs
程序示例
安裝完成后我們也同樣做個(gè)測(cè)試程序
- #include<gtk/gtk.h>void hello(GtkWidget *widget,gpointer data){
- g_print("Hello Ubuntu!\n");
- }
- gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data){
- g_print ("delete event occurred\n");
- return(TRUE);}
- void destroy(GtkWidget *widget,gpointer data){
- gtk_main_quit();}int main( int argc, char *argv[] ){
- GtkWidget *window;
- GtkWidget *button;
- gtk_init (&argc, &argv);
- window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
- gtk_container_set_border_width (GTK_CONTAINER (window), 10);
- button = gtk_button_new_with_label ("Hello Ubuntu!");
- gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
- gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
- gtk_container_add (GTK_CONTAINER (window), button);
- gtk_widget_show (button);
- gtk_widget_show (window); /*顯示一個(gè)窗口*/
- gtk_main(); /*進(jìn)入主循環(huán)*/
- return(0);
- }
用下面命令編譯運(yùn)行
- gcc gtktest.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
- ./gtktest
會(huì)顯示一個(gè)帶有一個(gè)按鈕的窗口,點(diǎn)擊按鈕以后窗口關(guān)閉,命令行顯示Hello Ubuntu!
#p#
安裝QT3/KDE3開(kāi)發(fā)環(huán)境
配置qt3開(kāi)發(fā)環(huán)境的話,我們需要安裝libqt3-mt-dev,一般還需要qt3-assistant,qt3-designer。不過(guò)我們可以直接安裝整個(gè)KDE編譯環(huán)境。
庫(kù)、工具及其幫助文檔:
- sudo apt-get install kdesdk kdesdk-doc-html
IDE開(kāi)發(fā)環(huán)境及其幫助文檔:
- sudo apt-get install kdevelop kdevelop-doc
程序示例
下面是簡(jiǎn)單的qt3的測(cè)試程序。
首先編寫(xiě)源代碼。 新建文件夾qt3hello,然后再里面新建文件 main.cpp,內(nèi)容如下:
- #include <qapplication.h>#include <qpushbutton.h>
- int main( int argc, char **argv ){
- QApplication a( argc, argv );
- QPushButton hello( "Hello Ubuntu!", 0 );
- hello.resize( 100, 30 );
- a.setMainWidget( &hello );
- hello.show();
- return a.exec();
- }
用下面命令編譯運(yùn)行
- qmake -project
- qmake
- make
- ./qt3hello
即可看到帶一個(gè)按鈕的程序界面。
安裝QT 4/KDE4開(kāi)發(fā)環(huán)境
配置qt 4開(kāi)發(fā)環(huán)境:
- sudo apt-get install libqt4-dev qt4-designer qt4-doc配置kde4開(kāi)發(fā)環(huán)境:
- sudo apt-get install kde4-develIDE: sudo aptitude install kdevelop-kde4Ubuntu 9.10請(qǐng)這樣做:
- sudo aptitude install kde-devel
程序示例
下面是簡(jiǎn)單的qt4的測(cè)試程序。
首先編寫(xiě)源代碼。 新建文件夾qt4hello,然后再里面新建文件 main.cpp,內(nèi)容如下:
- #include <QApplication>#include <QPushButton>
- int main(int argc, char *argv[]){
- QApplication app(argc, argv);
- QPushButton hello("Hello Ubuntu!");
- hello.resize(100, 30);
- hello.show();
- return app.exec();
- }
用下面命令編譯運(yùn)行
- qmake-qt4 -project
- qmake-qt4
- make ;./qt4hello
即可看到帶一個(gè)按鈕的程序界面。關(guān)于Gtk與Qt編譯環(huán)境安裝與配置的介紹就到這里,希望能幫助到你!
【編輯推薦】
QT中關(guān)于信號(hào)與槽機(jī)制的實(shí)現(xiàn)原理