置百丈玄冰而崩裂,掷须臾池水而漂摇。

[Qt]QStatusBar,QLabel,QTextEdit,QDockWidget组装界面

QT 强强

QStatusBar,QLabel,QTextEdit,QDockWidget组装界面


1、创建一个状态栏( 只能有一个) setStatusBar

  //创建状态栏 
    QStatusBar *stBar = statusBar();
    setStatusBar(stBar);

示例: 


2、给状态栏新增标签,左标签和右侧标签 addWidget

    //状态栏添加一个标签
    QLabel *lab1 = new QLabel("标签1");
    stBar->addWidget(lab1);
    //右侧添加一个标签
    QLabel *lab12 = new QLabel("标签2");
    stBar->addPermanentWidget(lab12);

示例: 


3、增加一个主空间到窗口中:setCentralWidget

 //创建一个主控件,中间控件
    QTextEdit *edit = new QTextEdit(this);
    setCentralWidget(edit);

示例: 


4、创建浮动控件:QDockWidget,设置浮动控件可以浮动位置

    //创建一个浮动空间  可以多个
    QDockWidget * dockWidge = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidge);
    //设置可以浮动位置
    dockWidge->setAllowedAreas(Qt::BottomDockWidgetArea | Qt::TopDockWidgetArea);

示例: 


完整代码实例:

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

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //重置大小
    this->resize(800,600);

    //创建菜单栏
    QMenuBar *bar = menuBar();
    //设置到页面中
    this->setMenuBar(bar);

    QMenu *fileMenu =  bar->addMenu("文件");
    QMenu *editMenu =  bar->addMenu("编辑");

    //创建菜单
    QAction *open = fileMenu->addAction("打开");
    //创建分隔符
    fileMenu->addSeparator();
   QAction *exit = fileMenu->addAction("退出");

    // 工具栏
    QToolBar *toolbar = new QToolBar(this);
    addToolBar(toolbar);

    //添加按钮 关联菜单栏
    toolbar->addAction(open);
    //文字添加
    toolbar->addAction("打开");
    //添加按钮
    QPushButton *btn = new QPushButton("测试",this);
    toolbar->addWidget(btn);


    //放在左侧
    addToolBar(Qt::TopToolBarArea,toolbar);

//    // 禁用移动
//    toolbar->setMovable(false);

    //设置浮动
    toolbar->setFloatable(false);

    //创建状态栏
    QStatusBar *stBar = statusBar();
    setStatusBar(stBar);

    //状态栏添加一个标签
    QLabel *lab1 = new QLabel("标签1");
    stBar->addWidget(lab1);
    //右侧添加一个标签
    QLabel *lab12 = new QLabel("标签2");
    stBar->addPermanentWidget(lab12);

    //创建一个主空间,中间空间
    QTextEdit *edit = new QTextEdit(this);
    setCentralWidget(edit);


    //创建一个浮动空间  可以多个
    QDockWidget * dockWidge = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidge);
    //设置可以浮动位置
    dockWidge->setAllowedAreas(Qt::BottomDockWidgetArea | Qt::TopDockWidgetArea);

}

MainWindow::~MainWindow()
{

}


发表评论:

验证码