小编Sac*_*orn的帖子

无法在 Glade GTK+3 中连接信号和信号处理程序

嗨,我正在 Ubuntu 14.04 LTS 上的 GTK+ 3 中开发一个项目。我正在尝试使用 Glade,但是当我尝试将切换按钮的“切换”信号连接到名为 kaczka 的函数时,编译后我在控制台中得到了这个: (Gra_w_Statki:11072): Gtk-Warning**:Could not find signal handler 'kaczka. Did you compile with -rdynamic?

窗口和按钮呈现自身并正常工作,除了切换按钮不会改变任何东西。我究竟做错了什么 ?

这就是我尝试连接切换按钮和功能单击的方式!

我的链接器设置是: pkg-config --libs gtk+-3.0

我的编译器设置是: pkg-config --cflags gtk+-3.0

我正在使用带有 GCC 编译器的 Code ::Blocks 13.12。

这是我的代码:

#include <stdlib.h>
#include <gtk/gtk.h>
void kaczka (GtkToggleButton *tbutton, gpointer data)
{
    gtk_main_quit ();
}


int main (int argc, char *argv[])
{
  GtkWidget *win = NULL;
  GtkBuilder *builder;

  gtk_init (&argc, &argv);


builder=gtk_builder_new();
gtk_builder_add_from_file( builder, "kaczka.glade", NULL);

    win=GTK_WIDGET(gtk_builder_get_object(builder,"window1"));


gtk_builder_connect_signals( builder, …
Run Code Online (Sandbox Code Playgroud)

c gtk glade gtk3

4
推荐指数
1
解决办法
5136
查看次数

使用jinja模板中的给定范围创建ansible中的ip列表

我想在我的角色的defaults/main.yml中生成一个ip地址列表(使用最后8位的范围,因此120-190转换为xxx120 - xxx190),然后使用它创建新的网络接口并生成新的配置文件.我试过这种方法:

默认/ main.yml:

ip_list: "{%for address_end in range(50,99)%} 192.168.0.{{address_end}}{%endfor%}" conf_list: "{%for ip in ip_list%}server {{ip}}:6666 {%endfor%}"

然后在模板中使用它

template.conf.j2:

{% for conf_line in conf_list %}
{{conf_line}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我得到的所有生成的配置文件是:

            s
            e
            r
            v
            e
            r


            :
            6
            6
            6
            6

            s
            e
            r
            v
            e
            r

            1
            :
            6
Run Code Online (Sandbox Code Playgroud)

所以我的猜测是我没有生成一个列表而只是一个长字符串,当我在template.conf.j2中使用for循环时,我迭代单个字符.我尝试使用这个问题的答案,但我得到的只是语法错误.什么可能有助于我的想法?

jinja2 ansible ansible-playbook

2
推荐指数
1
解决办法
5930
查看次数

标签 统计

ansible ×1

ansible-playbook ×1

c ×1

glade ×1

gtk ×1

gtk3 ×1

jinja2 ×1