相关疑难解决方法(0)

Linux / C++ 帮助 Glade3 和 gtkmm

这是一个 C 应用程序源代码,它使用 Glade3 和 GTK2+ 创建 GUI:

// gcc -o simple simple.c $(pkg-config --cflags --libs gtk+-2.0 gmodule-2.0)


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>

GtkBuilder *builder;
GtkWidget  *window1;

G_MODULE_EXPORT void on_window1_destroy (GtkObject *object, gpointer user_data)
{
    gtk_main_quit();
}

G_MODULE_EXPORT void on_button2_clicked (GtkObject *object, gpointer user_data)
{
    gtk_main_quit();
}

G_MODULE_EXPORT void on_button1_clicked (GtkObject *object, gpointer user_data)
{
    const gchar *name;
    GtkWidget *name_entry = GTK_WIDGET(gtk_builder_get_object(builder, "entry1"));
    name = gtk_entry_get_text(GTK_ENTRY(name_entry));
    g_print("Name is: %s\n", name);
}

int main(int argc, char** argv)
{ …
Run Code Online (Sandbox Code Playgroud)

c++ glade gtkmm

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

使用G ++编译器编译GTK +应用程序

我正在使用GTK +(不是gtkmm)在C ++中编写应用程序,因此我需要使用g ++编译器进行编译。是否可以使用g ++编译器来编译GTK +应用程序?GTK +和库是否与g ++编译器兼容?

我试图将GTK +函数调用嵌入到如下所示的类中:

#include <gtk/gtk.h>
class LoginWindow
{
    public:
    LoginWindow();
    void on_window_destroy( GtkObject *object, gpointer user_data);

    private:

    GtkBuilder      *builder;
    GtkWidget       *window;
};

LoginWindow::LoginWindow()
{
    builder = gtk_builder_new ();
    gtk_builder_add_from_file (builder, "login_window.glade", NULL);
    window  = GTK_WIDGET (gtk_builder_get_object (builder, "login_window"));
    gtk_builder_connect_signals (builder, NULL);

    g_signal_connect( GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(on_window_destroy), NULL );
    g_object_unref (G_OBJECT (builder));
    gtk_widget_show (window);
}

void LoginWindow::on_window_destroy (GtkObject *object, gpointer user_data)
{
    gtk_main_quit ();
}

int main (int argc, char *argv[])
{
    gtk_init (&argc, &argv); …
Run Code Online (Sandbox Code Playgroud)

c++ gtk callback

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

标签 统计

c++ ×2

callback ×1

glade ×1

gtk ×1

gtkmm ×1