使用Meego Touch Framework时,标准MApplicationWindow
已经附加了公共导航栏(带有切换器,菜单和关闭按钮)。
例如,以下代码:
#include <MApplication>
#include <MApplicationWindow>
int main(int argc, char *argv[]){
MApplication app(argc, argv);
MApplicationWindow w;
w.show();
return app.exec();
}
使用看起来similar to this的菜单栏创建一个空白窗口(例如,切换器按钮,菜单和顶部的关闭按钮)。
但是,由于docs阻止使用Touch Framework我想避免使用它,那么如何仅使用standard API创建一个类似的外观窗口?
答案 0 :(得分:1)
我将如何实现这一点,可能是一个固定高度,可变宽度的QHBoxLayout,其中包含需要它的那些索引的伸展因子。然后我会使用QPushButton和QCombobBox作为小部件,并使用自定义样式表和图标完成它们。然后我将这些内容包装在一个整洁的小自定义小部件中,我可以在我的主视图类中重用它。
主视图应该是一个窗口类,它将导航栏小部件保存在QVBoxLayout之上,以及它下面的实际内容。底部索引会有一个伸展因子,因此上面的索引总是位于顶部。
我不太清楚Meego手机的UX应该如何表现,但这就是我如何创建一个类似的导航栏。
答案 1 :(得分:1)
我会选择QMainWindow类,因为这个类已经有菜单,工具栏,状态栏aso。
但是你应该自己处理方向切换(我看到纵向模式下的工具栏位于底部,而横向模式下则位于顶部)。
这可以通过设置正确的Qt :: ToolbarArea值来实现。
可以使用Qt样式表设置按钮的样式和窗口本身。