【问题标题】:How to set the background color of a pygtk window如何设置pygtk窗口的背景颜色
【发布时间】:2014-09-04 00:15:51
【问题描述】:

我正在尝试为具有单个 DrawingArea 小部件的 pyGtk 窗口设置背景颜色。 使用这段代码,我每次启动脚本时总是会得到一个随机颜色:

widget = gtk.DrawingArea()
widget.show()
window = gtk.Window()
window.add(widget)
col = gtk.gdk.Color('#010')
window.present()
widget.window.set_background(col)
window.connect('delete-event', gtk.main_quit)
gtk.main()

我也尝试使用widget.modify_bg(gtk.STATE_NORMAL, col) 代替set_background 行,但我总是得到黑色背景。

我错过了什么?

【问题讨论】:

    标签: widget pygtk drawingarea


    【解决方案1】:

    好吧,似乎我在其他事情上挣扎太多了,我没有意识到我将测试颜色设置为#010,很明显,几乎是黑色。 使用modify_bg 有效,只记得设置合理的颜色;)

    这是工作代码:

    widget = gtk.DrawingArea()
    widget.show()
    window = gtk.Window()
    window.add(widget)
    col = gtk.gdk.Color('#0f0')
    window.present()
    widget.modify_bg(gtk.STATE_NORMAL, col)
    window.connect('delete-event', gtk.main_quit)
    gtk.main()
    

    顺便问一下,有人知道为什么widget.window.set_background() 设置随机颜色吗?

    【讨论】:

    • 使用“import gi.repository”我不得不使用 gtk.StateType.NORMAL 而不是 gtk.STATE_NORMAL
    • modify_bg 和 override_background_color 现在已弃用,如果我理解正确的话。
    猜你喜欢
    • 2021-10-02
    • 2011-03-19
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 2011-01-07
    • 2014-01-22
    • 1970-01-01
    相关资源
    最近更新 更多