首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyGTK 3 (gi.repository)在绘图文本和线条之间改变颜色的PangoCairo

PyGTK 3 (gi.repository)在绘图文本和线条之间改变颜色的PangoCairo
EN

Stack Overflow用户
提问于 2015-07-01 21:25:46
回答 1查看 562关注 0票数 2

PangoCairo DrawingArea中,在改变文本和行之间的颜色时,我遇到了问题。它们的颜色是一样的。下面是简单的Python代码:

代码语言:javascript
复制
from gi.repository import Gtk, Pango, PangoCairo

class Bug(Gtk.DrawingArea):
    def __init__ (self):
        Gtk.DrawingArea.__init__(self)

    def do_draw_cb(self, widget, cr):
        cr.translate ( 10, 10)

        layout = PangoCairo.create_layout (cr)
        desc = Pango.font_description_from_string ("Sans 14")
        layout.set_font_description( desc)
        cr.set_source_rgba(0.0, 1.0, 0.0, 1.0)
        layout.set_text("It is not easy being green", -1 )

        cr.move_to(40, 20)
        cr.line_to(70, 20)
        cr.set_source_rgba(0.0, 0.0, 0.0, 1.0)  # messes up previous set_text
        cr.stroke()
        PangoCairo.show_layout (cr, layout)

def destroy(window):
        Gtk.main_quit()

window = Gtk.Window()
window.set_title ("Green?")

app = Bug()
app.set_size_request (300, 200)

window.add(app)

app.connect('draw', app.do_draw_cb)
window.connect_after('destroy', destroy)
window.show_all()
Gtk.main()

如果删除第二个set_source_rgba,那么文本和行都是绿色的,而不是黑色的。但我想要的是绿色的文字和黑色的线条。我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-02 04:25:47

对于布局,在调用show_layout时会读取颜色,因此第一个set_source_rgba没有效果。你应该在设置它的颜色后显示它的布局。

代码语言:javascript
复制
  def do_draw_cb(self, widget, cr):
      cr.translate ( 10, 10)

      layout = PangoCairo.create_layout (cr)
      desc = Pango.font_description_from_string ("Sans 14")
      layout.set_font_description( desc)
      cr.set_source_rgba(0.0, 1.0, 0.0, 1.0)
      layout.set_text("It is not easy being green", -1 )
      PangoCairo.show_layout (cr, layout)

      cr.move_to(40, 20)
      cr.line_to(70, 20)
      cr.set_source_rgba(0.0, 0.0, 0.0, 1.0)  # messes up previous set_text
      cr.stroke()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31171974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档