我想把我的像素转换成"GtkSelectionData“,那么,如何在c++中转换它呢?下面是我的示例代码。
clipboard = gtk_clipboard_get_for_display (gdk_display_get_default (),
GDK_SELECTION_CLIPBOARD);
GdkPixbuf *pixbuf;
pixbuf = gtk_clipboard_wait_for_image ( clipboard );
if ( pixbuf != NULL )
{
int width, height;
width = gdk_pixbuf_get_width (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
//printf("width : %d", width);
GtkSelectionData *selectionData;
gtk_selection_data_set_pixbuf(selectionData,pixbuf);
g_object_unref (pixbuf);
}
Error: cannot convert ‘GdkPixbuf* {aka _GdkPixbuf*}’ to ‘GtkSelectionData* {aka _GtkSelectionData*}’ in initialization谢谢,吉米
发布于 2014-01-22 08:46:29
如果你看看文献资料,你会发现有一个函数
gtk_selection_data_set_pixbuf(GtkSelectionData*, GdkPixbuf*)这正是你想要的。
那么问题是,你从哪里得到的GtkSelectionData?答案是,通常情况下,当出现下降(或按下中键)时,GTK运行一个回调,为您提供选择数据指针,并要求您用应该传输的实际字节填充它。
但是,在GTK中,拖放/剪贴板的内容非常复杂。有几个关于Gnome wiki的教程虽然有帮助,但我建议读一读:-)
https://stackoverflow.com/questions/21277861
复制相似问题