gtk图片触发切换

发布于 2022-08-07 11:01:07 字数 2116 浏览 22 评论 1

2个按钮,当上下键切换到第一个按钮的时候,按钮的背景由4个图连续切换,离开这个按钮的时候停止切换换回原来的灰色。默认选中这个按钮,有图在切换
我目前可以达到开始就有图切换,但是按钮上下切换就会出现问题,请看看应该如何处理
static int i = 0;
static int j = 0;
static gboolean time_handler1(GtkWidget *widget)
{
        if( j == -1)
                return FALSE;
        gtk_image_set_from_file ((GtkImage *)image, bmp);
        gtk_widget_queue_draw(widget);
        i++;
        if(i > 3)
                i = 0;
        return TRUE;
}
gint key_press_event(GtkWidget *widget, GdkEvent  *event, gpointer   data)
{
        j = -1;
        gtk_image_set_from_file ((GtkImage *)image, "1.png");
        return FALSE;
}
gint key_release_event(GtkWidget *widget, GdkEvent  *event, gpointer   data)
{
        j = 0;
        i = 0;
        return FALSE;
}
int main(int argc, char **argv)
{
             ...
             g_signal_connect(G_OBJECT(button),"key_press_event", G_CALLBACK(key_press_event), NULL);
             g_signal_connect(G_OBJECT(button),"key_release_event", G_CALLBACK(key_release_event), NULL);
             g_timeout_add(1000, (GSourceFunc) time_handler1, (gpointer)button);
             time_handler1(button);
             ...
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光瘦了 2022-08-11 04:41:34

bmp是个char *数组,这里方括号没显示出来

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文