说明:QMainWindwo是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)以及一个中心部件(central widget)
注意:若是添加的栏只能有一个到窗口,则用set;若是添加的栏可以有多个,则用add。
1.1 菜单栏 最多只有一个
//菜单栏的创建 QMenuBar * bar = menuBar(); //把菜单栏放入窗口,不同与按钮:btn2->setParent(this); setMenuBar(bar); //创建菜单 QMenu * fileMenu=bar->addMenu("文件"); QMenu * editMenu=bar->addMenu("编辑"); //创建一个菜单的项 fileMenu->addAction("新建"); //添加分隔线 fileMenu->addSeparator(); //创建另一个菜单的项 QAction * newAction=fileMenu->addAction("打开");
1.2 工具栏 可以有多个
//创建工具栏 QToolBar * toolBar= new QToolBar(this); addToolBar(Qt::LeftToolBarArea,toolBar); //设置移动 toolBar->setMovable(true); //后期设置,只允许左右停靠 toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea); //设置是否可以浮动 toolBar->setFloatable(false); //工具栏中设置内容 toolBar->addAction("滑吧"); //添加分割线 toolBar->addSeparator(); toolBar->addAction(newAction);
1.3 工具栏中添加一些控件
QPushButton * btn =new QPushButton("按钮",this); toolBar->addWidget(btn);
1.4 状态栏 可以有多个
QStatusBar * staBar = statusBar(); //设置到窗口中 setStatusBar(staBar); //在状态栏栏添加提升信息的标签控件 QLabel * label = new QLabel("提示信息",this); staBar->addWidget(label); QLabel * label2 = new QLabel("右侧提示信息",this); staBar->addPermanentWidget(label2);
1.5 铆接部件 可以有多个
QDockWidget * dockWidget= new QDockWidget("浮点窗口",this); //部件设置在底部 addDockWidget(Qt::BottomDockWidgetArea,dockWidget); //设置浮动窗口后期停靠区域,只允许上下 dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
1.6 核心部件 只能有一个
//中心设置一个文本框 QTextEdit * edit= new QTextEdit(this); setCentralWidget(edit);