2016-05-02 73 views
0

我正在學習使用glade 3創建GUI。如何使用glade xml文件製作可執行程序

但是,* .glade文件是一個xml文件。我不知道如何從這裏前進。谷歌搜索並沒有真正的幫助。在Tool to convert .Glade (or xml) file to C source這裏有一個問題已經提出了相同的問題。然而,我並不能真正理解那裏給出的答案。

有人可以用glade 3來說明開發週期的基本流程嗎?

  1. 在林間空地設計UI。
  2. 生成* .glade xml文件。
  3. 然後什麼?

xml文件如何轉換爲可執行文件?

答:我應該將此xml文件轉換爲語言(C)並編譯C代碼嗎?

B.或者是否有一種方法可以將xml代碼直接轉換爲ELF可執行文件?

我想讓我自己使用的GUI。我使用linux並希望有一個ELF可執行文件(就像我使用gtk庫編寫C代碼並使用gcc編譯它一樣,我會得到什麼)。

+1

歡迎來到Stack Overflow!在撰寫此評論時,您在17分鐘前提出了這個問題。堆棧溢出是一個網站;不是每個人都在任何時候看它,所以你需要耐心得到答案。無論如何,glade文件就是UI的樣子。您需要使用GTK +工具包編寫一些代碼來使用glade文件。您可以使用C或任何其他您喜歡的語言。用於將glade文件加載到GTK + 3中的類是GtkBuilder。 (我不知道GTK + 2.)您也可以使用GLes的一部分GResource將xml嵌入到二進制文件中。祝你好運! – andlabs

+0

@andlabls是的,這只是一個評論寫出來的所有未成功的谷歌搜索和明顯缺乏不明顯的howtos的挫折...感謝指針..可能我會看着GtkBuilder和GResource ...但現在我將自己編寫代碼...稍後會回來... – sps

回答

0

如果我們看看the Wikipedia page for Glade它有一個關於如何在程序中使用Glade的完整部分:使用GtkBuilder。現在只剩下the docs,你可以開始使用Glade了。沒有冒犯,但我從未使用格萊德,這在所有文檔中都很清楚。例如,這裏是Glade's homepage

0

我會做這樣的事情:

DerivedWindow::DerivedWindow() 
{ 
    mainBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL, 7)); 
    builder = Gtk::Builder::create(); 
    try { 
    builder->add_from_file("filename.glade"); 
    } catch (Glib::Error& ex) { 
    errMsg("Window Builder Failed: " + ex.what()); 
    } 

    Gtk::Box* box; 
    builder->get_widget("name of box inside main window", box); 
    if (!box) { this->destroy_(); return; } 

    box->unparent(); 
    mainBox->pack_start(*box, Gtk::PACK_SHRINK); 

    //optional - if you want full access to particular widgets 
    builder->get_widget("name of widged id", widgetname); 

    //connect signals here... 

    add(*mainBox); 
    show_all(); 
} 

注意這是gtkmm的3+。

重要的是你從glade文件中獲得的盒子是非透明的,所以你可以將它附加到派生窗口。

相關問題