2009-11-09 18 views
4

gtk.Paned包含一個名爲'handle-size'的樣式屬性,我假設它會改變句柄的大小,它是隻讀的,那麼我該如何改變它?(在PyGtk中)更改gtk.Paar句柄大小

回答

3

從文檔gtk.Widget

gtk.Widget介紹樣式屬性 - 這些都是基本對象是對象存儲不 性能,但在相關的插件的樣式對象。風格 屬性設置在resource files。這種機制用於配置等 東西穿越題材的滾動條箭頭的位置,讓主題的作者在的應用程序的外觀更 控制,而不需要寫一個主題引擎C.

一般在GTK中練習不是從程序中設置樣式屬性,而是使用標準UI小部件,並讓用戶決定它們應該如何看待(通過桌面主題)。

+0

+1提供最佳實踐以及解決方案。 – Jonah 2013-03-03 04:31:08

2

在啓動自己的應用程序之前,您可以提供自定義資源文件。在C(希望python的翻譯很簡單),那就是:

#include <gtk/gtk.h> 

int 
main(gint argc, gchar **argv) 
{ 
    GtkWidget *window; 
    GtkPaned *paned; 

    gtk_init(&argc, &argv); 

    gtk_rc_parse_string("style 'my_style' {\n" 
         " GtkPaned::handle-size = 200\n" 
         " }\n" 
         "widget '*' style 'my_style'"); 

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 

    paned = (GtkPaned *) gtk_hpaned_new(); 
    gtk_paned_add1(paned, gtk_label_new("left")); 
    gtk_paned_add2(paned, gtk_label_new("right")); 

    gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(paned)); 

    gtk_widget_show_all(window); 
    gtk_main(); 

    return 0; 
}