QT学习之QMainWindow基本组成

目录

​编辑

ToolBar(工具栏)

StatusBar(状态栏)

DockWidget(铆接部件/浮动窗口)

CentralWidget(中心部件)


QMain的几个关键组成部分如图

一个窗口只允许一个菜单栏,位于主窗口顶部、主窗口标题栏下面。

QMenuBar * mb=menuBar();
setMenuBar(mb); 
mb->addMenu("文件");
mb->addMenu("编辑");
//addmenu的返回值为""中的内容,所以可以用一个变量接收他的返回值重复利用。
QMenu *filemenu=mb->addMenu("文件");
QMenu *editmenu=mb->addMenu("编辑");
//创建菜单项,同样用一个变量接受返回值。
QAction *addoperation=filemenu->addAction("新建");
QAction *openoperation=filemenu->addAction("打开");

Qt并没有专门的菜单项类,只是通过使用一个QAction类,抽象出公共的动作。

ToolBar(工具栏)

一个窗口允许多个工具栏。

QToolBar *tb= new QToolBar(this);
addToolBar(Qt::LeftToolBarArea,tb);
tb->addAction(addoperation);
tb->addSeparator(); //添加分割线
tb->addAction(openoperation);//用到了上面的返回值
QLabel *qlb=new QLabel("帮助");
tb->addWidget(qlb);//工具栏也可以添加控件

工具栏可移动,可以靠setAllowedAreas()设置位置

Qt::LeftToolBarArea         停靠在左侧
Qt::RightToolBarArea        停靠在右侧
Qt::TopToolBarArea          停靠在顶部
Qt::BottomToolBarArea       停靠在底部
Qt::AllToolBarAreas         以上四个位置都可停靠

工具栏可以浮动,用setFloatable()设置。

tb->setFloatable(true);//表示浮动,参数为布尔值

工具栏可以设置固定不可移动,用setMoveable(false)设置只能停靠在初始位置,不可移动。

StatusBar(状态栏)

一个窗口最多只能有一个状态栏。

QStatusBar *sb=new QStatusBar();
setStatusBar(sb);
QLabel *lb=new QLabel("你是一头猪");
sb->addWidget(lb);//从左侧设置lb标签
sb->addPermanentWidget(lb);//从右侧设置lb标签

DockWidget(铆接部件/浮动窗口)

dock有码头之意。一个窗口可以有多个停靠DockWidget。

QDockWidget *dw=new QDockWidget("停靠部件",this);
//第一个参数的位置是默认位置
addDockWidget(Qt::LeftDockWidgetArea,dw);
//这个位置设置是指默认位置拖动后允许停靠的位置
dw->setAllowedAreas(Qt::RightDockWidgetArea);

打开未拖动时,默认停靠在左侧

拖动后便不能放置在左侧

CentralWidget(中心部件)

一个窗口只能有一个中心部件,常见的中心部件为编辑框控件(QTextEdit)作为核心部件

QTextEdit *te=new QTextEdit();
setCentralWidget(te);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值