linux gtk IDE 程式設計(二)

2021-04-19 00:52:21 字數 3279 閱讀 2992

linux gtk ide 程式設計(二)

flyli

今天早上7點中在睡夢中的我就收到了珠珠(我女朋友哈,是我第乙個喜歡的女朋友,今年一起去北京比賽後,她回了家,我回到了學校,呵呵,程式設計師要想找個好老婆不容易阿,要珍惜才是,您說是不?)的簡訊,說今天他去寺廟抽籤,抽的是因緣籤,沒好意思讓人給解籤,結果就把簽發過來,讓我在網上解。

一查,哇靠,上上籤啊~呵呵

上面說君垂思澤潤無邊,覆禱祈禳沒黨偏;

一切有情皆受用,均佔樂利得周全。

看了看網上的解籤,覺得很簡陋,自己也學過文言文的嘛,所以自己也可以解一點,不過發覺古人真的是很狡猾阿,這種籤貌似可以有很多中解法,然後再看著別個的臉色,基本就能解出比較真實的籤了。。。

不過怎麼說也是個上上籤,因為珠珠有點迷信的哈,所以抽了這種上上籤應該是很有促進作用的哈

不過樂規樂,學習還是要繼續的,要不以後沒錢養老婆讓老婆跟著受罪,那可是男人的恥辱阿。。。

今天對這個ide中比較重要的部分,**框進行了編寫,我用的是gtk的text_view元件,乙個好的編寫框肯定是需要周圍有滾動條的,要不這麼小的乙個文字框肯定是不夠進行**書寫的了,text_view本生已經具有基本的文字編輯功能,但是當書寫文字超過本生的大小的時候,其自己會自動的進行放大,但是它無限制的放大,會導致真個ide介面的破壞,於是我們必須加個東東對其進行約束,也就是加上所謂的滾動條

在寫這段**之前,我覺得滾動條應該是text_view的乙個屬性,假如設定了就會有,但是在實際的查閱資料中發現,其實是把text_view放到了乙個滾動條容器裡,這樣當text_view放大的時候,滾動條容器就會對根據text_view的大小進行設定,我覺得這個是個很巧妙的方法,呵呵,gtk很聰明啊,呵呵

這個滾動條容器用的是gtkscrolledwindow查閱其mannal可以得到他的所有使用方法,我在這裡對最簡單的使用方法進行舉例說明

建立當然是最初需要做得哈

view_scroll = gtk_scrolled_window_new(null,null);

然後進行設定

gtk_scrolled_window_set_policy(gtk_scrolled_window(view_scroll), gtk_policy_automatic, gtk_policy_automatic);

這樣的設定可以是滾動條進行自動的調整,當然也有別的選擇哈,詳細的請看mannal

然後將text_view元件放到這個設定好的容器裡就可以了

gtk_container_add (gtk_container (view_scroll), view)

最後把view_scroll放到想讓他顯示的地方顯示出來就就可以了哈,很簡單的

以下是我目前的所有**,本來我是習慣用工程編譯的,但是在linux下我還不知道怎麼進行多檔案編譯,慚愧阿,還需要繼續學習哦~

#include

/**************************====*/

/*definition space             */

/**************************====*/

#define main_window_width 790

#define main_window_high  590

/**************************====*/

/*the place of fuction declear */

/**************************====*/

gint delete_event(gtkwidget* widget, gdkevent* event, gpointer data);

void init_show(void);

/********************************/

/*global symbol declear         */

/********************************/

gtkwidget* main_window;

gtkwidget* window;

gtkwidget* main_menu;

gtkwidget* main_menu_bar;

gtkwidget* main_file_item;

gtkwidget* view;

gtkwidget* table;

gtkwidget* view_scroll;

gtkwidget* main_menu_box;

gtkwidget* project_box;

gtkwidget* debug_box;

gtkwidget* view_box;

gtkwidget* default_box;

gtkwidget* menu_items;

gtkwidget* tmp1;

gtkwidget* tmp2;

gtkwidget* t***;

gtkwidget* tmp4;

int main(int argc, char* argv)

/*******************************===*/

/*a common function to answer the  */

/*window_main                      */

/*******************************===*/

gint delete_event(gtkwidget* widget, gdkevent* event, gpointer data)

gtk_main_quit();

//gtk_widget_destroy(widget);

return false;

}void init_show(void)

高手看了上面的**肯定是充滿鄙視的,其實我也知道,全是全域性變數,明顯的不對哈

而且**的模組話做得也不好,不過我現在是最初接觸gtk程式設計,我還沒有摸清怎樣的模組化會比較清晰,還有就是那些變數需要全域性,那些需要區域性,以及檔案間的私有變數的書寫,還有命名規範等,都還沒有摸索清楚,不過相信我,我會摸索的很快的呵呵,不要鄙視我哈

下一步需要做的就是學會gcc的多檔案編譯,和linux的檔案操作方法了,多檔案編譯好像牽扯到makefile等等的東西,我都不是很懂,所以需要查閱很多的資料,哎~

有點感覺路遙遙其修遠兮的感覺

不過想想珠珠來提提神,感覺不錯哈

以下是執行後的介面哈

linux gtk IDE 程式設計(一)

這段時間一直忙著考研的事情,前段時間為了要去北京參加那個央視的大學生機械人大賽,基本是占用了我所有的時間,我做得是程式設計工作,用的是windows平台,因為這裡 了,為了能夠參加比賽,必須使用自己成熟的技術,所以為了這個目的,我們的機械人用的是成熟的技術,我為此寫了個機械人的虛擬平台,可以 機械人...

Linux程式設計 二 shell程式設計

shell有很多種,linux中常用的是 bin bash,可以通過 bin bash version檢視版本資訊 管道和重定向 重定向輸出 把ls命令的輸出儲存到檔案中 ls l lsoutput.txt 將輸出內容附加到乙個檔案中 ps lsoutput.txt 重定向輸入 意義不大 管道 程式...

swing 程式設計 二

一 由按鈕的處理想到的 有很多的按鈕是不可怕的,可怕的是這些按鈕之間有邏輯關係,實際 要做的是簡化這些關係,把這些關係做到最簡化,盡可能提取出程式的應用邏輯,不要寫死 簡化介面設計,操作簡化,使用簡化,步驟簡化,是最後才去完成的事情 1 設計介面 2 簡化設計介面 3 評審設計 4 修改並簡化設計 ...