【发布时间】:2014-01-16 14:56:28
【问题描述】:
我正在研究 Gtk.DrawingArea,因为我只想绘制一个矩形。 我已经从 Gtk 示例中剪切并粘贴了 DrawingArea 的示例,为了我的目的切断了无用的代码。
下面是代码(别管缩进问题,没关系,Geany IDE 很烂):
#!/usr/bin/env python
# -*- coding: utf-8; -*-
from gi.repository import Gtk
import pygtk
pygtk.require('2.0')
class collega_GUI:
def __init__(self):
self.__builder = Gtk.Builder()
self.__builder.add_from_file('prova.glade')
self.__area = self.__builder.get_object('drawingarea1')
self.__style = self.__area.get_style()
self.__gc = self.__style.fg_gc[gtk.STATE_NORMAL]
self.__pangolayout = self.__area.create_pango_layout("")
self.__area.draw_rectangle(self.__gc, True, 0, 0, 20, 20)
self.__pangolayout.set_text("1")
self.__area.draw_layout(self.gc, 0, 50, self.__pangolayout)
self.__window = self.__builder.get_object('window1')
self.__window.show()
if __name__=='__main__':
prova = collega_GUI()
Gtk.main()
所以python解释器告诉我:
AttributeError: 'Style' 对象没有属性 'fg_gc'
请帮助我,我已阅读 (http://www.pygtk.org/pygtk2tutorial/sec-DrawingAreaWidgetAndDrawing.html) 的文档,但我找不到错误
【问题讨论】:
-
我真的很感兴趣为什么 some1 否决了这个问题..
-
您可以修复缩进吗?我想你接下来要做的就是找出
self.__style是什么类型,它有什么属性。 -
我无法编辑代码,因为它会回复我它的格式不正确。 type(self.__style) -> gi.repository.Gtk.Style
-
加倍努力。请修正缩进。你做了我建议的调试吗?
-
它似乎只有 fg 属性
标签: python gtk drawable graphicscontext drawingarea