【问题标题】:How to put Gtk:Grid in Gtk:Window with gtkmm如何使用 gtkmm 将 Gtk:Grid 放入 Gtk:Window 中
【发布时间】:2025-11-20 14:35:03
【问题描述】:

如何使用 gtkmm 将 Gtk:Grid 放入 Gtk:Window 中。当我尝试调用 main_win.add(grid); 时,它显示“参数 1 从 «Gtk::Grid()» 到 «Gtk::Widget&» 的已知转换” 这可行,但太丑了:

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

【问题讨论】:

  • 向我们展示什么不起作用可能更有用。很少需要投射。

标签: gtkmm


【解决方案1】:

你不需要任何那些疯狂的演员表。

Grid grid
Window window;
window.add(grid)

会正常工作的。

【讨论】:

    【解决方案2】:

    嗯...现在可以了...我想我什么都没做...我不确定,但看起来Grid grid(); 在我的源代码中,因为它会导致相同的错误。

    【讨论】: