我对 C++ 相当陌生,我对 Java 中的 MCV 编程有一些经验。我在 C++ 上使用 GTKmm 我想做的是编写一个应用程序,供助教提交和编辑各种职位的申请,并让管理员查看并接受这些申请。
我一开始想做的是创建 3 个“框架”(目前我正在为学生提交申请)
首先有 2 个按钮 1 用于选择您是否是学生/管理员
点击“你是学生”后,我想隐藏此框架并显示我的第二个框架
第二个框架将有另外 2 个按钮,一个用于创建应用程序,另一个用于编辑应用程序
我的核心问题是我不明白如何在框架之间切换,我已经为我的模型编写了所有代码,并且理解我想要它做的所有事情,但我似乎找不到如何做到这一点。 ..
我唯一的想法是为每个窗口创建窗口,使它们看起来都很好,然后当按下按钮时关闭该窗口并将字符串写入文件,我可以访问以查看哪个按钮已被按下按下,然后相应地打开一个新窗口。我应该这样做还是有更好的方法?
最佳答案
我认为我可以为任何版本 >= GTK+ 3.10 提出更好/更惯用的选项 - 公平地说,它是在接受的答案大约半年后到达的。
如果您想一次在小部件之间切换,而不需要选项卡等任何附件,那么 Gtk::Stack
似乎是更好的选择。因为它专门适合一次一个演示,没有笔记本手动选项卡功能带来的任何冗余和(理论上的)开销,您只需立即禁用即可!它是一个具有多个子级的容器,其中一个在任何给定时刻都可见,当然还有更改事件子级的方法。
您可以连接自己的小部件和/或事件来管理显示 Stack
的子级。或者 - 尽管在本例中可能只是恢复冗余 - 有一个 StackSwitcher
配套小部件,它几乎是一个垂直选项卡栏,如 GTK+ 演示和 GNOME 调整工具中所示。
关于c++ - GTkmm 3.0 如何在框架或窗口之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14793704/