PyGTK曲线存储器

2024-06-10 13:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要画一张图表。我用gtk曲线小部件。当我给他加上一个长向量,就会得到一个错误:

GLib-ERROR **: /build/buildd/glib2.0-2.26.1/glib/gmem.c:170: failed to allocate 4294967276 bytes aborting...

代码很简单:

w = gtk.Window()
c = gtk.Curve()
c.set_vector(v)
c.set_curve_type(gtk.CURVE_TYPE_SPLINE)
w.add(c)
w.show_all()
gtk.main()

向量是一个很长的列表:

[0.80000000000000004, 0.29999999999999999, 0.29999999999999999, 0.80000000000000004, 0.90000000000000002, 0.20000000000000001, ...]

此列表中约有800个元素。有人知道问题出在哪里吗?泰铢


Tags: buildgtk列表部件错误图表error向量
1条回答
网友
1楼 · 发布于 2024-06-10 13:33:15

我不知道为什么但是gtk曲线似乎无法在主循环之外操作数据。尝试类似的方法在主调用之后添加数据。在

import random, gtk, gobject

def createCurve(c):
    v = [random.random() for i in range(800)]
    c.set_vector(v)
    c.set_curve_type(gtk.CURVE_TYPE_SPLINE)
    return True

c = gtk.Curve()
vb = gtk.VBox()
vb.pack_start(c, True, True)
w = gtk.Window()
w.add(vb)
w.show_all()
gobject.timeout_add(2000, createCurve, c)
gtk.main()

相关问题 更多 >