02_QT菜单栏、工具栏、状态栏、铆接部件和中心部件

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    resize(500, 300); //重置窗口大小
    QPushButton * but1 = new QPushButton(this);//创建一个按钮对象
    QMenuBar * bar1 = new QMenuBar(this);//创建一个菜单对象,菜单只可以有一个
    QToolBar * toolbar = new QToolBar(this);//创建一个工具栏, 工具栏有多个
    QStatusBar * statubar = new QStatusBar(this);//创建一个状态栏, 状态栏只能有一个
    QDockWidget * dock = new QDockWidget(this);//创建一个铆接部件, 可以有多个
    QTextEdit * text = new QTextEdit(this);//创建一个中心部件, 只能有一个

    //按键设置
    but1->move(100, 100);
    but1->setText("button");

    //菜单设置
    setMenuBar(bar1);//将菜单放入窗口
    QMenu * newmenu =  bar1->addMenu("new"); //创建一个菜单
    QMenu * openmenu =  bar1->addMenu("open");
    QAction * newaction = newmenu->addAction("new1");//创建一个菜单项


    //工具栏设置
    addToolBar(Qt::LeftToolBarArea, toolbar);//将工具栏加入到窗口

    toolbar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);//设置允许放置的位置
    toolbar->setFloatable(false);//是否允许浮动
    toolbar->setMovable(false);//是否允许移动
    toolbar->addAction(newaction);//可以将上面菜单项中的一个加入到工具栏中
    toolbar->addWidget(but1);//将上面的按钮放入到工具栏中

    //状态栏设置
    setStatusBar(statubar);
    QLabel * label = new QLabel("aaa", this);
    statubar->addWidget(label);

    QLabel * label2 = new QLabel("bbb", this);
    statubar->addPermanentWidget(label2);

    //铆接部件设置
    addDockWidget(Qt::LeftDockWidgetArea, dock);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);

    //设置中心部件
    setCentralWidget(text);

}

你可能感兴趣的:(QT学习)