2016-03-29 57 views
-2

如何在Vala中顯示GTK3 ScrollBar步進按​​鈕?如何在Vala中顯示GTK3 ScrollBar步進按​​鈕?

this.bar = new Scrollbar (Orientation.VERTICAL, adj); 

打開C + GTK3中的步進按鈕很容易,這是默認設置。通常的Vala文檔告訴你如何設置按鈕的增量,而不是如何顯示按鈕。對於每個來自Vala + GTK3文檔和每個C + GTK3組合的關鍵字,Google搜索答案都會返回零。

以下代碼在C中產生一個滾動條。默認情況下,這些按鈕是打開的。

scroller = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, scroller_adjustment); 
+0

請問您可以將C示例代碼添加到您的問題中,也請考慮在Vala中編寫[MCVE](https://stackoverflow.com/help/mcve)。 –

+0

@Jens,添加了C示例。 – Peter

回答

1

Switching on the stepper buttons in C + GTK3 is easy.

在這種情況下,提供(或鏈接到)你的意思的例子將是有益的。如果你瞭解Vala,從C端口移植到Vala通常是微不足道的,但是不提供它意味着不熟悉GTK +特定部分的人必須查找文檔來回答(並可能弄錯)。

The usual Vala documentation tells you how to set the increment for the buttons but not how to display the buttons.

假設 「通常瓦拉文檔」 是Valadoc,the Vala documentation相同the C documentation。 C文檔也被用作其他語言文檔的基礎,所以如果你有改進它的好主意,我相信GTK +的人會喜歡這個補丁。

不管怎麼說,假設你想要做的是設置什麼「具有向前步進」和「具有後向步進」屬性設置爲true,你會做這樣的事情:

this.bar.has_forward_stepper = true; 
this.bar.has_backward_stepper = true; 

我d說這比在C中容易得多,因爲在那裏你不得不使用類似g_object_set(self->bar, "has-forward-stepper", true, "has-backward-stepper", true, NULL)的地方,那裏有很多東西可能會出錯(沒有類型安全性,你可能會忘記前哨等)。但是,如果你願意,你可以做到這一點在瓦拉就像你在C將:

this.bar.set ("has-forward-stepper", true, "has-backward-stepper", true); 

需要注意的是,像C版本,沒有任何類型的安全性。但是,Vala會自動爲您添加NULL哨兵。

GTK is neutered by Vala.

你是我最後一次從你看到了有關瓦拉有多難的問題抱怨了。就像這個問題一樣,那個人的答案比C更簡單。或許你不應該抱怨,所以你應該或者實際上是learn Vala,停止使用它,或者至少暫時停留在這個駭人聽聞的douchebaggery上,直到你找到某種東西其實難以在瓦拉而不是有一個簡單的答案,你根本沒有意識到的東西。

+0

谷歌vala滾動條產生http://references.valadoc.org/#!api=gtk+-3.0/Gtk.Scrollbar。該頁面提到步進器,但不是has_forward_stepper或任何其他方式來切換步進器。 谷歌的vala滾動條步進只產生這個問題和前面提到的不足valadoc頁面。 谷歌C滾動條步進產生https://developer.gnome.org/gtk3/stable/GtkScrollbar.html其中列出了六個樣式屬性,包括has_forward_stepper。 因此文檔是不一樣的。 – Peter

+0

編譯器生成: 錯誤:名稱'has_forward_stepper'在'Gtk.Scrollbar'的上下文中不存在this.bar.has_forward_stepper = true; – Peter

+0

編譯器接受了以下行,但沒有出現錯誤,但沒有出現步進按鈕。 this.bar.set(「has-forward-stepper」,true,「has-backward-stepper」,true); – Peter

相關問題