Qt——QMainWindow

QMainWindow是一个位用户提供主窗口程序的类,包含一个菜单栏(menu bar),多个工具栏(tool bars)、多个锚接部件(dock tool)、一个状态栏(status bar)以及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器;
在这里插入图片描述
在新建文件时需要选择QMainWindow;

菜单栏最多一个(QMenuBar);
工具栏可以有多个(QToolBar);
状态栏最多只能一个(QStatusBar);
铆接部件(浮动窗口)可以有多个(QDockWidget);
核心部件只能有一个(QCentralWidgrt);

#include "mainwindow.h"
#include<QMenuBar>
#include <QToolBar>
#include<QDebug>
#include <QPushButton>
#include<QStatusBar>
#include<QLabel>
#include<QDockWidget>
#include<QTextEdit>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //重置窗口
    resize(1400,1000);

    //创建菜单栏,菜单栏最多只能有一个
    QMenuBar *bar = menuBar();     //源码已经把menuBar创建在对象树所以不需要加this
    //将菜单栏放入窗口中
    setMenuBar(bar);

    //创建菜单
    QMenu *fileMenu  = bar->addMenu("文件");
    QMenu *editMenu = bar->addMenu("编辑");

    //创建菜单项
    QAction *newAction = fileMenu->addAction("新建");
    //添加分隔线
    fileMenu->addSeparator();
    QAction *openAction = fileMenu->addAction("打开");



    //工具栏可以有多个
    QToolBar *toolbar = new QToolBar(this);
    //将工具栏放入窗口(默认放到左边)
    addToolBar(Qt::LeftToolBarArea,toolbar);
   //设置toolbar只允许左右停靠
    toolbar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
   //设置浮动
    toolbar->setFloatable(false);
    //设置移动(总开关)
    toolbar->setMovable(false);

    //工具栏设置内容
    toolbar->addAction(newAction);
    //添加分割线
    toolbar->addSeparator();
    toolbar->addAction(openAction);

    //工具栏添加控件
    QPushButton *btn = new QPushButton("aa",this);
    toolbar->addWidget(btn);



    //状态栏最多只能有一个
    QStatusBar *stbar = statusBar();
    //设置到窗口中
    setStatusBar(stbar);
    //放一些标签控件
    QLabel *label1 = new QLabel("提示的信息",this);     //左侧提示
    stbar->addWidget(label1);
    QLabel *label2 = new QLabel("右侧提示的信息",this);  //右侧提示
    stbar->addPermanentWidget(label2);

    //铆接部件(浮动窗口)可以有多个
    QDockWidget *dockWidget = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);   //放在底部
    //设置后期停靠区域,只允许上下
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
    

    //设置中心部件只能有一个
    QTextEdit *edit = new QTextEdit();
    setCentralWidget(edit);

}

MainWindow::~MainWindow()
{
}


learned from:传智教育

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值