Qt-MainWindow-菜单栏,工具栏,状态栏,铆接部件,中心部件

(QMenuBar)菜单栏 (最多只有一个)

QMenuBar * bar = menuBar();

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    resize(600,400);
    QMenuBar * bar = menuBar();//创建菜单栏
    setMenuBar(bar);//将菜单栏放入窗口
    QMenu * b =  bar->addMenu("文件");//添加了一个菜单
    QMenu * a = bar->addMenu("信息");//a是addMenu的返回值
    
    a->addAction("新建");//创建菜单项
    a->addSeparator();//添加分隔符 就是新建和打开之间有条线
    QAction * newAction = a->addAction("打开");//创建菜单项 可以用QAction接收返回值 方便后面使用
}

在这里插入图片描述

(QToolBar)工具栏(可以有多个)

	QToolBar * toolBar = new QToolBar(this);//创建工具栏
    addToolBar(Qt::LeftToolBarArea,toolBar);//第一个参数是规定工具栏的初始位置(默认位置是在上面的) 第二个参数就是增加哪个工具栏在窗口
    toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);//设置工具栏允许停靠的范围(图1)
    toolBar->setFloatable(false);//设置是否可以浮动 也就是上面设置了工具栏允许停靠范围(上面设置的是左右可以停靠) 如果此时将工具栏移到上面 则会发送浮动情况 就是工具栏缩成一小团(图2) 如果这里设置不能浮动 则移到中间时 会直接弹回原位置 无法浮动
    toolBar->setMovable(flase);//设置工具栏是否可以移动
    

图1 工具栏停靠在左侧
在这里插入图片描述
图2 工具栏浮动在中间
在这里插入图片描述

增加工具项

//方法一
toolBar->addAction("新建");
//方法二 因为上面使用了QAction * newAction = a->addAction("打开"); 所以可以直接调用
toolBar->addSeparator();//增加分割线
toolBar->addAction(newAction);//如果这样使用的话  使用的就是同一个项了 比如说 上面菜单栏的打开是打开4399 在这里工具栏点击打开 也是打开4399

在这里插入图片描述

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

在这里插入图片描述

(QStatuBar)状态栏(最多一个)

    //状态栏
    QStatusBar * stBar = statusBar();
    setStatusBar(stBar);//设置到窗口中
    //放标签控件
    QLabel * label = new QLabel("提示信息",this);
    stBar->addWidget(label);//将标签默认放在状态栏左侧
    QLabel * label2 = new QLabel("右侧提示信息",this);
    stBar->addPermanentWidget(label2);//将标签放在状态栏右侧

在这里插入图片描述

(QDockWidget)铆接部件(浮动窗口) 可以有多个

    QDockWidget * dockWidget = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);

在这里插入图片描述
窗口可以拖拽出来
在这里插入图片描述

(QTextEdit)中心部件 (只能有一个)

    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值