之後 第一篇文章 我讀到一條評論,即從比“ hello world”更複雜的東西開始會更好,然後我將做一個序列(或3 4)後創建一個簡單的應用程序(使用vala + gtk 3)。
該應用程序將包括一個簡單的多選問答遊戲(Trivia類型),其中錯誤回答3個問題(遊戲結束),並且目標是在有限的時間內回答盡可能多的問題。答复。
企業網站規劃建置
我們的應用程序的主要設計將是:
稍後,我們將放置一些按鈕,這些按鈕將為我們提供50%(消除兩個錯誤答案),凍結時間,通過問題的選項。 它們全部只能使用一次,一旦使用則被禁用。
設計一個 碼
正如我們在設計中看到的那樣,我們可以看到將要使用的gtk元素:
答案->按鈕。
問題->標籤。
時間-> ProgressBar。
錯誤/正確的點和問題->標籤。
我們可以看到我們具有垂直結構,因此可以垂直使用GBox。
碼
int main(string [] args){Gtk.init(ref args); var window = new Gtk.Window(); window.title =“ app”; window.window_position = Gtk.WindowPosition.CENTER; window.set_default_size(300,340); window.destroy.connect(Gtk.main_quit); window.set_border_width(10); //垂直框var box = new Gtk.Box(Gtk.Orientation.VERTICAL,0); box.set_spacing(10); //問題的標籤var question = new Gtk.Label(“ Question?”); //時間程序欄var time_bar = new Gtk.ProgressBar(); timebar.set_text(“ Time”); time_bar.set_show_text(true); //響應按鈕var response1 =新的Gtk.Button.with_label(“ Response 1”); var resposta2 =新的Gtk.Button.with_label(“回复2”); var resposta3 =新的Gtk.Button.with_label(“回复3”); var resposta4 =新的Gtk.Button.with_label(“回复4”); //標籤信息var points = new Gtk.Label(“ Points:0”); box.pack_start(問題); box.pack_start(time_bar); box.pack_start(reply1); box.pack_start(resposta2); box.pack_start(resposta3); box.pack_start(resposta4); box.pack_start(點); window.add(框); window.show_all(); Gtk.main(); 返回0;}
要移動“時間”,我們使用GLib.Timeout,每500毫秒將激活一次(這是一個循環,其中包含我們的柱值的變量將增加)
GLib.Timeout.add(500,()=> {//獲取當前進度://(0.0-> 0%; 1.0-> 100%)double progress = time_bar.get_fraction(); //更新進度條:進度=進度+ 0.01; time_bar.set_fraction(進度); //重複直到100%返回進度<1.0;});
感興趣的鏈接
http://www.valadoc.org/#!wiki=index (您可以使用其方法找到所有gtk元素...)
很好,我將問您如何製作一種TABS,但如何垂直製作,雖然它們不一定必須是選項卡,它們可以是按鈕或ToggleButtons,但是我需要選項卡的行為,即當觸摸其內容時1可以看到並且其他選項卡已禁用,我不知道是否要解釋自己,我留下圖像來查看是否可以給我一些信息以進行調查。 謝謝!
圖片: http://i.imm.io/1jURw.png
“佈局”還是文本更改(例如)?
加泰羅尼亞語
實際上,這非常好,這與我在尋找的問題類似,可以以某種方式將此問題鏈接到終端嗎?
例如:首先,我花時間回答,我將其無限使用,這就是我想要做的。
您要安裝什麼桌面環境?
KDE
Gnome 3
肉桂
統一
所有這些都鏈接到終端中各自的安裝命令sudo apt-get install ubuntu-desktop
是的,您只需要編寫Process.spawn_command_line_async(“ apt-get install ubuntu-desktop”);
http://valadoc.org/#!api=glib-2.0/GLib.Process.spawn_command_line_sync
太好了,我喜歡這個職位,我會繼續練習(並且我很期待),問候