QT_9_MainWindow

0、MainWindow工程

新建工程的时候,选择基类为MainWindow。
MainWindow的形式指的是带有菜单栏、工具栏、状态栏、核心部件、浮动窗口等。

此时的窗口默认会很小,resize一下。

1、菜单栏

最多只有一个菜单栏。

1.1、创建菜单栏
    QMenuBar * menubar =  menuBar();
    setMenuBar(menubar);
1.2、添加具体菜单

照着QT自己写的,前面两个“文件”和“编辑”要添加真正的项,所以要用指针接收一下,后面只是凑数的。

    QMenu * menu_file = menubar->addMenu("文件(F)");
    QMenu * menu_edit = menubar->addMenu("编辑(E)");
    menubar->addMenu("构建(B)");
    menubar->addMenu("调试(D)");
    menubar->addMenu("Analyze");
    menubar->addMenu("工具(T)");
    menubar->addMenu("控件(W)");
    menubar->addMenu("帮助(H)");
1.3、添加具体菜单的项

用addAction就可以添加项,下面在工具栏中用到“退出”,用QAction指针接收,其余的直接写。

    //添加菜单-“文件”的项
    menu_file->addAction("新建文件或项目(N)...      Ctrl+N");
    menu_file->addAction("打开文件或项目(O)...      Ctrl+O");
    menu_file->addAction("打开文件或项目(O)用...");
    //添加项之间的分隔符
    menu_file->addSeparator();
    menu_file->addAction("打印(P)");
    menu_file->addSeparator();
    QAction *act_exit = menu_file->addAction("退出(X)");
2、工具栏

可以有多个工具栏。

2.1、创建工具栏
    QToolBar * toolbar = new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea,toolbar);    // 设置工具栏默认区域,左
2.2、添加工具栏的项
    toolbar->addAction("欢迎");
    toolbar->addSeparator();
    toolbar->addAction("编辑");
    toolbar->addAction("设计");
    toolbar->addAction("Debug");
    //与菜单栏中项目共用“退出”,点击这两处任意一处是等效的
    toolbar->addAction(act_exit);
2.3、控制工具栏的停靠
  • 只允许左右停靠toolbar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
  • 不允许浮动在窗口之上toolbar->setFloatable(false);
  • 不允许移动toolbar->setMovable(false);
3、核心部件

最多有一个核心部件。

核心部件有多种形式,比如创建一个文本框,设置为核心部件。

    QTextEdit * txt = new QTextEdit(this);          //文本
    setCentralWidget(txt);                          //设置核心部件
4、状态栏

最多有一个状态栏。

4.1、创建状态栏
    QStatusBar * stabar = statusBar();
    setStatusBar(stabar);
4.2、添加状态栏的标签
    QLabel * label_1 = new QLabel("1 问题 ",this);
    QLabel * label_2 = new QLabel("2 Search Results ",this);
    stabar->addWidget(label_1);
    stabar->addPermanentWidget(label_2);        //放在右侧
5、浮动窗口

可以有多个浮动窗口。

5.1、创建浮动窗口
    QDockWidget * dock = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dock);
5.2、控制后期只停靠在下方
    dock->setAllowedAreas(Qt::BottomDockWidgetArea);   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值