我正在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解释器告诉我:
属性错误:"Style"对象没有属性"fg_gc"请帮帮我,我已经阅读了上的文档(http://www.pygtk.org/pygtk2tutorial/sec-DrawingAreaWidgetAndDrawing.html)但是我找不到错误
我认为你的进口应该是这样的:
import pygtk
pygtk.require('2.0')
import gtk
您正在混合pygtk
包装器和gi.introspection
绑定,这是两种不同的东西!甚至可能将gtk2
与gtk3
小部件混合使用!
还要记住:该教程的上一次更新是在2005年!