更改gtk.Paned句柄大小

时间:2009-11-09 13:56:38

标签: python gtk pygtk

gtk.Paned包含一个名为'handle-size'的样式属性,我假设它会改变句柄的大小,它是只读的,所以我该如何改变呢?(在PyGtk中)

2 个答案:

答案 0 :(得分:3)

来自gtk.Widget的文档:

  

gtk.Widget引入了样式属性 - 这些属性基本上都是对象属性   不存储在对象上,而是存储在与窗口小部件关联的样式对象中。样式   属性在resource files中设置。该机制用于配置这样的   事物作为主题滚动条箭头的位置,给主题作者更多   无需在C中编写主题引擎即可控制应用程序的外观。

GTK的一般做法不是从程序中设置样式属性,而只是使用标准UI小部件并让用户决定它们的外观(通过桌面主题)。

答案 1 :(得分: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;
}