如何向 运行 gtk 进程发送信号
How to send signal to running gtk process
我正在用 C 编写一个 gtk 应用程序,一旦执行,我希望能够以某种方式联系该进程(希望来自 python)并告诉它执行一个函数。
我的其他一切都在工作,只需要一些方法来从进程外部执行一个函数。
当前主要(基于 gtk 教程):
int
main (int argc,
char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new(NULL, G_APPLICATION_FLAGS_NONE);
custom_setup();
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
status = g_application_run (G_APPLICATION (app), NULL, NULL);
g_object_unref (app);
return status;
}
谢谢。
您的应用程序必须向其他应用程序公开一个 DBus 接口,使用它们可以调用的方法来执行您的功能。
执行此操作的一个很好的快捷方式是向您的应用添加 GAction
,描述为 here. Then other apps can call the org.gtk.Actions.Activate
DBus method 以激活 GAction
并执行您的功能。
我正在用 C 编写一个 gtk 应用程序,一旦执行,我希望能够以某种方式联系该进程(希望来自 python)并告诉它执行一个函数。 我的其他一切都在工作,只需要一些方法来从进程外部执行一个函数。
当前主要(基于 gtk 教程):
int
main (int argc,
char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new(NULL, G_APPLICATION_FLAGS_NONE);
custom_setup();
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
status = g_application_run (G_APPLICATION (app), NULL, NULL);
g_object_unref (app);
return status;
}
谢谢。
您的应用程序必须向其他应用程序公开一个 DBus 接口,使用它们可以调用的方法来执行您的功能。
执行此操作的一个很好的快捷方式是向您的应用添加 GAction
,描述为 here. Then other apps can call the org.gtk.Actions.Activate
DBus method 以激活 GAction
并执行您的功能。