2012-07-18 68 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