Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyGTK:将matplotlib图形复制到剪贴板_Python_Gtk_Matplotlib_Pygtk - Fatal编程技术网

Python PyGTK:将matplotlib图形复制到剪贴板

Python PyGTK:将matplotlib图形复制到剪贴板,python,gtk,matplotlib,pygtk,Python,Gtk,Matplotlib,Pygtk,我正在开发PyGTK应用程序,它可以生成图形。这是通过matplotlib实现的。如何添加“复制到剪贴板”功能?如何将图形复制到剪贴板?这将在Linux中实现(只需鼠标单击图像,即可将其复制到剪贴板,以便粘贴,例如GIMP): 我想你想要的内容是一个简单的图像?谢谢。这段代码向我展示了我所需要的一切。而且它在windows上也能完美地工作 import matplotlib.pyplot as plt from matplotlib.backends.backend_gtk import Fig

我正在开发PyGTK应用程序,它可以生成图形。这是通过matplotlib实现的。如何添加“复制到剪贴板”功能?如何将图形复制到剪贴板?

这将在Linux中实现(只需鼠标单击图像,即可将其复制到剪贴板,以便粘贴,例如GIMP):


我想你想要的内容是一个简单的图像?谢谢。这段代码向我展示了我所需要的一切。而且它在windows上也能完美地工作
import matplotlib.pyplot as plt
from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas
import gtk
import numpy as np

class W(gtk.Window):

    def __init__(self):

        gtk.Window.__init__(self)

        img = np.random.uniform(0,1,(200,200))

        fig = plt.Figure()
        fig.gca().imshow(img)
        self.image_canvas = FigureCanvas(fig)
        self.image_canvas.connect('button_press_event', self.do_clip)

        self.add(self.image_canvas)
        self.show_all()

    def do_clip(self, widget=None, event=None):

        snap = self.image_canvas.get_snapshot()
        pixbuf = gtk.gdk.pixbuf_get_from_drawable(None, snap,
            snap.get_colormap(),0,0,0,0,
            snap.get_size()[0], snap.get_size()[1])
        clip = gtk.Clipboard()
        clip.set_image(pixbuf)


w=W()
gtk.main()