GTK +窗口混乱

时间:2013-03-30 01:15:10

标签: c++ gtk gtkmm

我正在Ubuntu上试验GTK ++而且我运气不好。仅出于测试目的,我想看看我是否可以获得一个描述窗口是否可调整大小的布尔值。这是我的代码:

  #include <gtkmm.h>
  #include <iostream>
  #include "config.h"

 int  main (int argc, char *argv[])
 {
    gboolean isResizable;
    Gtk::Main kit(argc, argv);

    Gtk::Window* main_win = new Gtk::Window (Gtk::WINDOW_TOPLEVEL);
    main_win->set_title ("gtk-test");
    isResizable = gtk_window_get_resizable(main_win);
    if (main_win)
    {
        kit.run(*main_win);
    }
    return 0;
 }

我在将isResizable设置为gtk_window_get_resizable的行上收到错误消息。 错误说:

    cannot convert 'Gtk::Window*' to GtkWindow* {aka_Gtk_window*} for argument 1

Gtk::WindowGtkWindow*之间有区别吗?如果是这样,我将如何进入Gtk::Window

由于

1 个答案:

答案 0 :(得分:3)

Instread of:

gtk_window_get_resizable(main_win);

呼叫:

main_win->get_resizable();
  

Gtk :: Window和GtkWindow *之间是否存在差异?

Gtk::Window(和main_win->get_resizable())是C ++(gtkmm)

GtkWindow(和gtk_window_get_resizable)是C(gtk)

很容易跨越这两个,因为gtkmm是gtk的包装器,所以你有两个代码库。