国庆七天小长假,我在努力学习,把人卷上天。
说明: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);