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;
 }

に設定isResizableした行でエラーが発生しgtk_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 のラッパーであるため、2 つのコードベースを簡単に交差させることができます。

于 2013-03-30T02:04:15.837 に答える