使用gtk2创建和存储图像?

时间:2019-02-23 19:55:44

标签: c gtk gtk2

我在使用gtk2绘制图像时遇到了一些麻烦。我已经尝试过此代码:

http://example.com

它不会在屏幕上绘制任何图像,实际上我根本看不到任何窗口。另外,将图像存储在变量中以备将来使用的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我建议您看一下gtk教程https://developer.gnome.org/gtk-tutorial/stable/,您的代码缺少很多内容,无法在此处显示有关如何在窗口中显示简单图片的示例:

#include <gtk/gtk.h>

GtkWidget* create_gui()
{
    GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL); // create the application window
    GtkWidget *img = gtk_image_new_from_file("image.png"); // image shall be in the same dir 
    gtk_container_add(GTK_CONTAINER(win), img); // add the image to the window
    g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(gtk_main_quit), NULL); // end the application if user close the window
    return win;
}
int main(int argc, char** argv) {
    GtkWidget* win;

    gtk_init(&argc, &argv);


    win = create_gui();
    gtk_widget_show_all(win); // display the window
    gtk_main(); // start the event loop
    return 0;
}

顺便说一句,不再维护gtk 2,我建议您从gtk3开始