2013-03-30 2 views
1

우분투에서 GTK ++로 실험 중이며 운이별로 없습니다. 테스트 목적으로 윈도우 크기를 조정할 수 있는지 여부를 설명하는 부울을 얻을 수 있는지 확인하려고했습니다.GTK ++ Window Confusion

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

내가 gtk_window_get_resizableisResizable을 설정 한 줄에 오류가 점점 오전 : 여기 내 코드입니다. 오류는 말한다 :

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

Gtk::WindowGtkWindow* 사이에 차이가 있습니까? 그렇다면 어떻게하면 Gtk::Window을 전달할 수 있습니까?

감사

+0

이름과 관련 : C GTK 라이브러리는 다소 혼란스럽게 "gtk +"(단일 노트 참고)이며 C++ 바인딩은 "gtk--"또는 "gtkmm"이라고합니다. 그들 중 누구도 "gtk ++"라고 불리지 않으며, 당신이 C "gtk +"또는 C++ "gtk--"를 참조하려는 의도가 있는지는 분명하지 않습니다. – user4815162342

답변

3

Instread :

gtk_window_get_resizable(main_win); 

전화 :

main_win->get_resizable(); 

는은 Gtk :: 윈도우와 GtkWindow * 사이에 차이가 있습니까?

Gtk::Window (및 main_win->get_resizable())는 C++ (gtkmm는)

GtkWindow (및 gtk_window_get_resizable) C (GTK)입니다

그것은 gtkmm는 GTK의 래퍼이기 때문에, 두 가지를 건너 쉽게, 그래서 두 코드베이스가 있습니다.

+0

아! 고맙습니다! 나는 gtk 레퍼런스를보고 있다는 것을 몰랐다. – foobar5512