2014-12-01 76 views
0

後不包是我使用的代碼:GtkLabel的位置更新其內容

messageCrypte= gtk_label_new(""); 
    gtk_widget_set_size_request(messageCrypte, 400, 100); 
    gtk_label_set_line_wrap(GTK_LABEL(messageCrypte), TRUE); 
    gtk_grid_attach(GTK_GRID(cryptTab), messageCrypte, 0, ++i, 2, 1); 

當我傳遞一個字符串到gtk_label_new手動初始化標籤,文本被包裹, 但在更新時GtkLabel的,它從文檔增加窗口的大小,而不包裝無限,

注意,換行設置爲TRUE,不會使煙標 在其父容器的寬度,因爲GTK +小部件在概念上 不能使他們的請求取決於父容器的大小。 對於包裝在特定位置的標籤,使用gtk_widget_set_size_request()設置標籤的寬度 。

我做了什麼,但沒有結果!

+0

我不記得確定,但你有沒有嘗試設置換行模式(例如,對PANGO_WRAP_WORD)? – andlabs 2014-12-02 04:57:40

+0

沒有結果!!!!! – 2014-12-02 16:20:48

+0

我可能會嘗試調試步驟,而不是編輯元素的內容,請嘗試完全替換私奔;如果包裝正確,請考慮比較內容替換元素和重新生成的元素之間不同的屬性/屬性。 ?只是一個猜測。 – ThorSummoner 2014-12-02 17:45:11

回答

0

的問題是在包裝模式, 的wrapd模式「......字」則默認情況下的意思是將包裹時: (超出限制,有一個新詞) 但我進入一個不包含空格的字符串示例,所以它會認爲它是一個字, ,但是當設置wrao模式爲'... CHAR'時,它將在以下情況下進行換行: (超出限制且有新的字符)2nd條件總是驗證ofcourse,