自学内容网 自学内容网

Qt桌面应用开发 第三天(QMainWindow)

目录

1.QMainWindow

1.1菜单栏

1.2工具栏

1.3状态栏

1.4铆接部件和核心部件

1.4.1铆接部件

1.4.2核心部件


1.QMainWindow

1.1菜单栏

为用户提供主窗口程序的类。一个主窗口最多只有一个菜单栏,位于主窗口顶部,标题栏下面。

创建步骤:

  1. 创建菜单栏(QMenuBar)
  2. 将菜单栏设置到窗口中
  3. 菜单栏中添加菜单(QMenu)
  4. 菜单中添加菜单项(QAction)
  5. 菜单项(QAction)中可以加菜单(QMenu)
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //创建菜单栏,只能有一个
    QMenuBar* bar=menuBar();
    //将菜单栏设置到窗口中
    this->setMenuBar(bar);

    //添加菜单
    QMenu* file=bar->addMenu("文件");
    QMenu* edit=bar->addMenu("编辑");

    //添加菜单项
    QAction* newBuild=file->addAction("新建");
    file->addSeparator();
    QAction* open=file->addAction("打开");

    QMenu* subMenu=new QMenu;
    subMenu->addAction("子菜单1");
    subMenu->addAction("子菜单2");

    newBuild->setMenu(subMenu);
}

1.2工具栏

主窗口的工具栏可以有多个。

创建步骤:

  1. 创建工具栏(QToolBar)
  2. 将工具栏添加到窗口中
  3. 设置允许停靠的区域
  4. 设置是否可以浮动/移动
  5. 添加工具按钮(addAction)

    //创建工具栏(QToolBar)
    QToolBar* toolBar=new QToolBar;
    
    //将工具栏添加到窗口中
    this->addToolBar(Qt::LeftToolBarArea,toolBar);
    
    //设置允许停靠的区域
    toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
    
    //设置是否可以浮动
    toolBar->setFloatable(false);
    toolBar->setMovable(false);
    
    //添加工具按钮
    toolBar->addAction(newBuild);
    toolBar->addSeparator();
    toolBar->addAction("工具栏");

1.3状态栏

主窗口的状态栏最多只能有一个

状态栏中添加文本:

创建步骤:

  1. 创建状态栏
  2. 将状态栏设置到窗口中
  3. 创建文本标签控件
  4. 将文本标签控件添加到状态栏中
    //创建状态栏
    QStatusBar* Bar=statusBar();
    
    //将状态栏设置到窗口中
    this->setStatusBar(Bar);
    
    //创建文本标签控件
    QLabel* lable1=new QLabel("左侧信息1",this);
    QLabel* lable2=new QLabel("右侧信息1",this);
    QLabel* lable3=new QLabel("左侧信息2",this);
    
    //自左向右设置
    Bar->addWidget(lable1);
    //自右向左设置
    Bar->addPermanentWidget(lable2);
    //插入设置
    Bar->insertWidget(0,lable3);

1.4铆接部件和核心部件

1.4.1铆接部件

主窗口的铆接部件也是浮动窗口,可以有多个。

铆接部件可以设置停靠区域:

注意:铆接部件的停靠依赖于核心部件

创建步骤:

  1. 创建铆接部件
  2. 将铆接部件添加到窗口中
  3. 设置停靠
1.4.2核心部件

除了菜单栏,工具栏,状态栏,铆接部件,中心显示的都可以作为核心部件,核心部件只有一个,但是可以由多个小控件组成。

    //创建铆接部件
    QDockWidget* dock=new QDockWidget("浮动窗口",this);
    //将铆接部件添加到窗口中
    addDockWidget(Qt::BottomDockWidgetArea,dock);
    //设置停靠
    dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);

    QTextEdit* edit=new QTextEdit(this);
    setCentralWidget(edit);


原文地址:https://blog.csdn.net/m0_53349772/article/details/143610935

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!