如何在pygtk2中更改“样式属性”

时间:2018-12-13 19:41:18

标签: python gtk gtk2

GTK ComboBox具有样式属性“箭头大小”(link)。我想将其设置为0。

很遗憾,下一个代码段无效。没有报告错误消息,并且箭头以默认大小(= 15)出现

import pygtk
pygtk.require('2.0')
import gtk


def the_dialog():
    dialog = gtk.Dialog("Title", None, gtk.DIALOG_MODAL)
    liststore = gtk.ListStore(str)

    for a in ["one","two","three"]:
        liststore.append([a])

    rc_str = """
   style 'no_arrow_style' {
       GtkComboBox::arrow-size = 0
   }
   widget_class '*' style 'no_arrow_style'
   """
    gtk.rc_parse_string(rc_str)

    combo_box = gtk.ComboBox()
    cell = gtk.CellRendererText()
    combo_box.pack_start(cell)
    combo_box.add_attribute(cell, 'text', 0)
    combo_box.set_model(liststore)
    combo_box.get_cells()

    dialog.vbox.pack_start(combo_box)
    dialog.show_all()

    dialog.run()


the_dialog()

带有默认“ v”形箭头的组合框:

Combo box with default "v"-shaped arrow

1 个答案:

答案 0 :(得分:0)

GtkComboBox::arrow-size实际上表示“最小箭头尺寸”。要查看差异,请将其设置为100。该示例代码确实有效。