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