2014-11-21 107 views
0

比方說,我創建了一個網格:更新標籤文本GTK + C++

grid = gtk_grid_new(); 

然後添加一個按鈕"label"文本:

button = gtk_button_new_with_label ("label"); 

它連接到電網:

gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1); 
gtk_container_add (GTK_CONTAINER (vbox), grid); 

我得到了一些東西,如下:

char c = 'e'; 
// And I want to update the label's text with the value stored in c. 

我們應該如何更新標籤之前設置的文本?

我是新來的GTK +,我想我應該是這個問題,對不起......但在這裏它是...

謝謝!

+0

考慮到你正在嘗試在GUI應用中使用cin,並且你的while循環阻塞了glib的事件循環,我想說更新標籤是你代碼中最少的問題。 – MrEricSir 2014-11-21 22:09:31

+0

我甚至沒有意識到,控制檯轉換很難...,問題更新,謝謝。 – VohadsA 2014-11-21 22:18:12

回答

1

對於GtkButton,請使用gtk_button_set_label()。對於GtkLabel,請使用gtk_label_set_text()

請注意,您不能將char傳遞到這些函數中,因爲單個字符不是字符串。 MrEricSir的評論意味着你正試圖在GUI程序中從控制檯讀取鍵盤輸入。所以,現在我特別想知道你在寫什麼......我知道你是否將現有的命令行程序轉換爲GUI程序,但請注意,這種遷移對於逐塊執行來說太平庸(if這就是你在做的)。

+0

我很困惑,我沒有試圖將控制檯中的字符綁定到UI,問題解決了,謝謝。 – VohadsA 2014-11-22 01:29:35

+0

沒問題;清除困惑是解決問題的重要部分= P – andlabs 2014-11-22 02:39:16