LINUX.ORG.RU

C, Python GTK+


0

1

Задача: реализовать взаимодействие C и Python для управления одним экранным интерфейсом.

Т. е. хотелось бы узнать, есть ли возможность создать окно и, скажем кнопку на нем с помощью C, затем передать ссылки в Python-скрипт и поменять надпись на кнопке, а лучше выпонить connect() события GTK+ и питоновской функции?


Ответ на: комментарий от Dragon59

Хочу низкоуровневые вещи и каркас интерфейса реализовать на сях(то, что будет делаться раз и надолго), а все остальное на скрипте.

nickey
() автор топика
Ответ на: комментарий от tailgunner

Это бессмысленно.

Полагаешь?

Вообще, вопрос о целесообразности пока можно отбросить и рассмотреть проблему гипотетически - можно ли сделать такое стандартными средствами и без велосипеда или нет?

nickey
() автор топика
Ответ на: комментарий от nickey

Это бессмысленно.

Полагаешь?

Убежден.

рассмотреть проблему гипотетически - можно ли сделать такое стандартными средствами и без велосипеда или нет?

Это возможно, да. Насчет «без велосипеда» - смотря что ты называешь «велосипедом» и как построено твое приложение. ctypes позволяют вызывать Си-функции и передавать им указатели на Python-функции в качестве callback'ов.

tailgunner ★★★★★
()

Не майся дурью. На питоне можно даже тяжелые виджеты клепать, а ты хочешь сраные кнопки на сишечке, где смысл?

baverman ★★★
()
Ответ на: комментарий от baverman

Не майся дурью. На питоне можно даже тяжелые виджеты клепать, а ты хочешь сраные кнопки на сишечке, где смысл?

Дело не в кнопках на сях, а в низкоуровневых вещах. Просто подумал, что раз уж все равно прибегать к сям, то скомпилить на них все постоянное, в т. ч. и кусок интерфейса, которым потом можно было бы управлять с помощью скрипта. Такое можно у Qt/QtScript, но во-первых, мне не надо C++, во-вторых мне не надо Qt.

nickey
() автор топика
Ответ на: комментарий от nickey

Просто подумал, что раз уж все равно прибегать к сям, то скомпилить на них все постоянное, в т. ч. и кусок интерфейса

Что это даст?

baverman ★★★
()

если уж есть желание сделать каркас на сях, а мелочи на скрипте, посмотри тогда лучше в сторону Qt - как раз сможешь сделать костяк на плюсах, а потом рюшечки можно будет приделать с помощью скрипта (официально поддерживается JS QtScript, но можно и питон прикрутить PythonQt)

EugeneBas ★★
()

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

nickey
() автор топика
Ответ на: комментарий от nickey

Насколько я понял, у GEdit реализовано что-то подобное в плагинах

AFAIK там обычные gobject'ы. Методы которых можно перегрузить на питоне.

baverman ★★★
()

Я использую для подобных целей встраивание питона в C.

а лучше выпонить connect() события GTK+ и питоновской функции?

Если написать обёртку самому.

gag ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.