我要使用GtkGrid,因为我需要为每个项目绘制一个矩形。 (我会在每个GtkGrid的单元格中添加一个绘图区域,并通过cairographics库绘制矩形)
但是有一个问题:python 2.7不支持GtkGrid,所以我浏览了网页,我只是更改了文件的第一行(并安装了python3.3)。
#!/usr/bin/python3.3
try:
import pygtk
pygtk.require("2.0")
except:
print("PyGtk Not Availible")
sys.exit(1)
try:
import gtk
import gtk.glade
except:
print("GTK Not Availible")
sys.exit(1)
现在它无法再拯救Pygtk或GTK库..而且使用python2.7一切正常...... 也许最好的解决方案是避免使用更新的python解释器并将GtkGrid更改为其他内容。
请帮帮我
EDIT :: 只需从Pygtk示例中剪切并粘贴一个示例
#!/usr/bin/python3.3
# example drawingarea.py
import pygtk
pygtk.require('2.0')
import gtk
import operator
import time
import string
class DrawingAreaExample:
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Drawing Area Example")
window.connect("destroy", lambda w: gtk.main_quit())
self.area = gtk.DrawingArea()
self.area.set_size_request(400, 300)
self.pangolayout = self.area.create_pango_layout("")
self.sw = gtk.ScrolledWindow()
...
使用Python 2.7,它可以使用Python 3.3:No module named 'pygtk'
答案 0 :(得分:0)
为了明确这一点:您必须决定是否要使用gi.introspection
绑定(最新且主要是自动生成)或pygtk
gtk+-2.0
周围的包装(手工制作,截至目前pygtk3
仍在进行中,如果我错了,请纠正我。)
将这些内容混合会让您更进一步或更晚。
您的初始问题是,GtkGrid
(gtk+-3.0
的一部分)是gi.introspection
绑定的一部分(通常)需要Python 3.x.y
,而您使用pygtk2
与Python 2.7.x
一起使用。更改为Python 3.3
只是使绑定可用于您。
在gtk2
GtkGrid
被称为GtkTable
,请参阅https://developer.gnome.org/gtk2/stable/GtkTable.html。
答案 1 :(得分:-1)
试试这个:
#!/usr/bin/env python
# -*- coding: utf-8; -*-
from gi.repository import Gtk
grid = Gtk.Grid()
你需要使用GTK + 3,而不是python3.3(为了拥有一个Gtk.Grid)......如果我理解你的意思......
编辑。