Есть ли у Python «указатель», эквивалентный для целей PyGObject? - PullRequest
1 голос
/ 09 апреля 2020

Я пытаюсь использовать Gtk.SelectionData.set, для которого один параметр равен

data (bytes) - указатель на данные (будет скопирован)

Данные, которые я хочу передать, - это Gtk.EventBox, но мне неясно, как создать указатель на эти данные или нужно ли вообще. Документация для привязок GObject Python автоматически генерируется из документации C, и, насколько мне удалось найти, Python не имеет прямого эквивалента указателям в C.

Я не могу найти никаких примеров использования этой функции в Python коде. Я нашел примеры в C, например

gtk_selection_data_set (selection_data,
        gdk_atom_intern_static_string ("GTK_LIST_BOX_ROW"),
        32,
        (const guchar *)&widget,
        sizeof (gpointer));

из здесь , но я не понимаю, как перевести это на Python.

1 Ответ

0 голосов
/ 10 апреля 2020

Невозможно будет напрямую перевести этот пример в Python, потому что, даже если вы сможете получить адрес окна событий для хранения в буфере обмена, в отличие от C, вы не сможете воссоздать объект ящика событий из адреса на другой стороне.

Было бы сложно предложить, что делать, не зная больше о вашем конкретном приложении, но, возможно, вы могли бы сохранить текстовое представление о том, как получить на виджет с верхнего уровня, что-то вроде event_box.get_path().to_string()?

...