Qt窗口组件

MainWindow工程

菜单栏:

  • 一个窗口中菜单栏只能有一个
  • 重置生成窗口大小:resize(长,宽)
  • 创建菜单栏:QMenuBar * bar = menuBar() (此时此菜单栏在主窗口外面)
  • 将菜单栏放入窗口内:setMenuBar(bar)
  • 创建菜单栏中的菜单:QMenu * fileMenu = bar->addMenu("文件")
  • 创建菜单具体项目:QAction * newAction = fileMenu->addAction("新建")
  • 多个项目之间添加分隔符:fileMenu->addSeparator()

工具栏:

  • 一个窗口中工具栏可以有多个
  • 创建工具栏:QToolBar * toolBar = new QToolBar(this)
  • 将工具栏放入窗口内:addToolBar(Qt::RightToolBarArea,toolBar)
  • 设置工具栏的停靠范围(可以上下左右):toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea)
  • 设置是否允许拖拽浮动:toolBar->setFloatable(false)
  • 设置是否移动(总开关,一旦设置,上面所有的操作都没意义):toolBar->setMovable(true)
  • 设置工具栏中的内容:toolBar->addAction("abc")
  • 设置和菜单栏中的项目共用:toolBar->addAction(newAction)
  • 工具栏中添加控件(按钮):QPushButton * btn = new QPushButton("CCCC",this);     toolBar->addWidget(btn);

状态栏:

  • 最多一个
  • 创建状态栏:QStatusBar * stBar = statusBar()
  • 设置到窗口中:setStatusBar(stBar)
  • 创建标签控件:QLabel * label = new QLabel("提示信息",this)
  • 放置标签到状态栏中,默认左侧:stBar->addWidget(label)
  • 放置到右侧:stBar->addPermanentWidget(label2)

中心部件:

  • 创建记事本:QTextEdit * edit = new QTextEdit(this)
  • 设置到中心位置:setCentralWidget(edit)

铆接部件(浮动窗口):

  • 可以创建多个
  • 创建浮动窗口:QDockWidget * dockWidget = new QDockWidget("浮动窗口",this)
  • 添加浮动窗口到主窗口:addDockWidget(Qt::BottomDockWidgetArea,dockWidget)
  • 设置停靠区域:dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea)

mainwindow.cpp

#include "mainwindow.h"
#include
#include
#include
#include
#include
#include
#include
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //重置窗口
    resize(600,400);
    //菜单栏的创建
    //菜单栏只能有一个
    QMenuBar *bar = menuBar();
    //将菜单栏放入到窗口中
    setMenuBar(bar);
    //创建菜单
    QMenu * fileMenu = bar->addMenu("文件");
    QMenu * editMenu = bar->addMenu("编辑");
    QMenu * constructMenu = bar->addMenu("构建");
    QMenu * debugMenu = bar->addMenu("调试");
    QMenu * analyzeMenu = bar->addMenu("分析");
    QMenu * toolMenu = bar->addMenu("工具");
    QMenu * controlMenu = bar->addMenu("控件");
    QMenu * helpMenu = bar->addMenu("帮助");
    //创建菜单项
    QAction * newAction = fileMenu->addAction("新建");
    //添加分割符
    fileMenu->addSeparator();
    QAction * saveAction = fileMenu->addAction("保存");
    editMenu->addAction("全选");


    //工具栏  可以有多个
    QToolBar * toolBar = new QToolBar(this);
    //将工具栏添加到主窗口
    addToolBar(Qt::RightToolBarArea,toolBar);
    //设置工具栏的停靠范围  只允许左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
    //设置浮动   不允许浮动
    toolBar->setFloatable(false);
    //设置是否移动(总开关) 一旦设置 上面所有的操作都没意义
    toolBar->setMovable(true);
    //工具栏中设置内容
    toolBar->addAction("abc");
    toolBar->addSeparator();
    //和菜单栏共用
    toolBar->addAction(newAction);
    //工具栏中添加控件
    QPushButton * btn = new QPushButton("CCCC",this);
    toolBar->addWidget(btn);

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

    //中心部件
    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);

    //铆接部件(浮动窗口),可以创建多个
    QDockWidget * dockWidget = new QDockWidget("浮动窗口",this);
    //添加到窗口
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    //设置停靠区域
    dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea);
}

MainWindow::~MainWindow()
{

}

 

你可能感兴趣的:(Qt)