QT从入门到实战完整版 P18

#include "mainwindownoui.h"
#include <QMenuBar>
#include <QToolBar>
#include <QDebug>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>

MainWindownoui::MainWindownoui(QWidget *parent)
    : QMainWindow(parent)
{
    resize(600,400);//重置窗口大小

    QMenuBar * bar=menuBar();//创建菜单栏(菜单栏 最多只能有一个)
    setMenuBar(bar);//将菜单栏放入到窗口中

    QMenu * fileMenu=bar->addMenu("文件"); //创建菜单
    QMenu * editMenu=bar->addMenu("编辑");

    QAction *newAction=fileMenu->addAction("新建");//创建菜单项
    fileMenu->addSeparator();//添加分隔线
    QAction *openAction= fileMenu->addAction("打开");

    QToolBar * toolBar=new QToolBar(this);//工具栏可以有多个
    addToolBar(Qt::LeftToolBarArea,toolBar);//限制初始时在左边停靠

    toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);//后期设置 只允许向右停靠(或者返回左边)

    toolBar->setFloatable(false);//禁止上下浮动,只允许左右
    //toolBar->setMovable(false); //移动总开关,默认为true

    toolBar->addAction(newAction);//工具栏中可以设置内容
    toolBar->addSeparator();//添加分割线
    toolBar->addAction(openAction);

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

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

    QLabel *label2 =new QLabel("右侧提示信息",this);
    stBar->addPermanentWidget(label2);


    QDockWidget *dockWidget=new QDockWidget("浮动",this);//铆接部件(浮动窗口) 可以有多个
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);//设置后期停靠区域,只允许上下

    QTextEdit *edit=new QTextEdit(this);//设置中心部件 只能一个
    setCentralWidget(edit);
}

MainWindownoui::~MainWindownoui()
{
}

posted @ 2023-07-13 22:44  Vijurria  阅读(27)  评论(0编辑  收藏  举报