1

我正在 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;
 }

我在设置isResizablegtk_window_get_resizable. 错误说:

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

Gtk::Window和有区别GtkWindow*吗?如果是这样,我将如何通过Gtk::Window

谢谢

4

1 回答 1

3

插入:

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 的包装器,所以你有两个代码库。

于 2013-03-30T02:04:15.837 回答