2012-07-18 66 views
0

如何使用gtkmm將Gtk:Grid放入Gtk:窗口中。它說:「的參數1從沒有任何已知的轉換«的Gtk ::網格()»爲«的Gtk ::小部件&»」當我試圖調用main_win.add(grid); 這工作,但它太醜陋:如何把Gtk:網格放到Gtk:使用gtkmm的窗口

... 
int main (int argc, char *argv[]) 
{ 

Main kit(argc, argv); 

Label label1("Hello1",0,0.5); 
Label label2("Hello2",0,0.5); 

Grid grid; 

(*((Container*)&grid)).add(label1); 
(*((Container*)&grid)).add(label2); 

Window main_win(Gtk::WINDOW_TOPLEVEL); 
main_win.add(*((Widget*)&grid)); 

main_win.show_all(); 

kit.run(main_win); 

return 0; 
} 
+0

可能更有用的向我們展示什麼是行不通的。鑄造是很少需要的。 – ergosys 2012-07-18 18:29:00

回答

1

你不需要任何這些瘋狂的演員。

Grid grid 
Window window; 
window.add(grid) 

將工作得很好。

0

嗯...現在它的工作原理...我認爲我什麼都沒做......我不確定,但它看起來像Grid grid();是在我的源代碼,因爲它會導致相同的錯誤。

+1

這是一個C++的「最令人頭痛的解析」的例子,請參閱http://stackoverflow.com/q/1424510/240633 – ergosys 2012-07-29 21:31:47