zoukankan      html  css  js  c++  java
  • 7、菜单栏、工具栏、状态栏、浮动窗口、TextEdit

    新建项目,基类选择QMainWindow,不勾选ui

      

    mainwindow.cpp代码:

    #include "mainwindow.h"
    #include <QMenuBar> //引入菜单栏
    #include <QMenu> //菜单
    #include <QAction> //菜单项
    #include <QToolBar> //引入工具栏
    #include <QPushButton>
    #include <QDebug>
    #include <QStatusBar>//状态栏
    #include <QLabel>
    #include <QTextEdit>//文本编辑
    #include <QDockWidget> //浮动窗口
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
    {
        //菜单栏//
        QMenuBar *mBar=menuBar(); //菜单栏,QMenuBar *mBar=new QMenuBar(this);等效
        QMenu *pFile=mBar->addMenu("文件"); //菜单
        QAction *pNew = pFile->addAction("新建"); //菜单项
    
        connect(pNew,&QAction::triggered,[](){
            qDebug()<<"新建被按下";
        });
        pFile->addSeparator(); //分割线
        QAction *pOpen=pFile->addAction("打开"); //菜单项
        //工具栏//
        QToolBar *tBar=addToolBar("工具栏");//鼠标右键,可以显示、隐藏“工具栏”
        tBar->addAction(pNew);
        QPushButton *b=new QPushButton(this); //创建对象,并指定父窗体
        b->setText("点击被更改");
        tBar->addWidget(b); //添加按钮控件
        connect(b,&QPushButton::clicked,
                [b](){
            b->setText("被更改");
        });
        //状态栏//
        QStatusBar *sBar=statusBar();
        QLabel *label=new QLabel(this);
        label->setText("状态栏");
        sBar->addWidget(label); //默认从左往右添加
        sBar->addWidget(new QLabel("状态栏2",this));
        sBar->addPermanentWidget(new QLabel("状态栏3",this));//右侧开始添加
        //文本框//
        QTextEdit *tEdit=new QTextEdit(this);
        setCentralWidget(tEdit);//将控件放到窗体中心位置
        //浮动窗口//
        QDockWidget *dWidget=new QDockWidget("浮动窗口",this);//鼠标右键,可以显示、隐藏“浮动窗口”
        addDockWidget(Qt::RightDockWidgetArea,dWidget);//位于窗体右侧
        QTextEdit *tEdit2=new QTextEdit(this);//给浮动窗口添加控件
        dWidget->setWidget(tEdit2);
    }
    
    MainWindow::~MainWindow()
    {
    
    }
  • 相关阅读:
    Spring3:AOP
    Spring2:bean的使用
    Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse
    Vue.js——60分钟组件快速入门(上篇)
    vue父子组件嵌套的时候遇到
    Vue.js——60分钟快速入门
    [Vue warn]: Cannot find element: #app
    关于RabbitMQ以及RabbitMQ和Spring的整合
    spring集成多个rabbitMQ
    RabbitMQ-从基础到实战(5)— 消息的交换(下)
  • 原文地址:https://www.cnblogs.com/xixixing/p/10907584.html
Copyright © 2011-2022 走看看