QT 主窗口介绍以及各区域使用

版权声明:欢迎大佬们指点 https://blog.csdn.net/bloke_come/article/details/82800098

主窗口的基本元素
主窗口

  • 菜单栏
    菜单是一系列命令的列表。为了实现菜单、工具栏按钮、键盘快捷方式等命令的一致性,Qt使用动作(Action)来表示这些命令。Qt的菜单就是由一系列的QAction动作对象构成的列表,而菜单栏则是包容菜单的面板,它位于主窗口顶部、主窗口标题栏的下面。一个主窗口最多只有一个菜单栏。

  • 动作QAction的实现
    (1) QAction open =new QAction(QIcon("open.png"),tr("打开"),this);
    在创建“打开文件”动作的并指定了此动作使用的图标、名称及父窗口。
    (2) open ->setShortcut(tr("Ctrl+O"));
    设置此动作的组合键为【Ctrl+O】。
    (3) open ->setStatusTip(tr("打开一个文件"));
    设置提示语,设定了状态栏显示,当鼠标光标移至此动作对应的菜单条目或工具栏按钮上时,在状态栏上显示“打开一个文件”的提示。

  • 创建菜单按钮

     QMenu* fileMenu =menuBar()->addMenu(tr("文件"));  // 新建文件菜单
     fileMenu-> addAction(open);                      // 添加动作
     fileMenu->addSeparator();                        // 添加分割线
    
  • 状态栏
    状态栏通常显示GUI应用程序的一些状态信息,它位于主窗口的底部。用户可以在状态栏上添加、使用Qt窗口部件。一个主窗口最多只有一个状态栏。

     QStatusBar* m_StatusBar	= new QStatusBar(this);
     m_StatusBar->addWidget(m_LabelNetworkSpeed);         // 添加在状态栏左边
     m_StatusBar->addPermanentWidget(pLabel);             // 添加在状态栏右边
     m_StatusBar->showMessage("Status is here...", 3000); // 显示临时信息,时间3秒钟
    
  • 工具栏
    工具栏是由一系列的类似于按钮的动作排列而成的面板,它通常由一些经常使用的命令(动作)组成。工具栏位于菜单栏的下面、状态栏的上面,可以停靠在主窗口的上、下、左、右四个方向上。一个主窗口可以包含多个工具栏。
    工具条是一个可移动的窗口,它可停靠的区域由QToolBarallowAreas决定,包括Qt::LeftToolBarAreaQt::RightToolBarAreaQt::TopToolBarAreaQt::BottomToolBarAreaQt::AllToolBarAreas。默认为Qt::AllToolBarAreas,启动后默认出现于主窗口的顶部

     QToolBar* fileTool =addToolBar("File");                           // 添加工具栏
     fileTool->setAllowedAreas(Qt::TopToolBarArea|Qt::LeftToolBarArea);// 设置停靠区域
     fileTool->setMovable(false);                                      // 设置可移动性,true为可移动
     fileTool->addAction(openFileAction);                              // 添加动作
     fileTool->addSeparator();                                         // 添加分割线
    
  • 锚接部件
    锚接部件作为一个容器使用,以包容其他窗口部件来实现某些功能。例如,Qt设计器的属性编辑器、对象监视器等都是由锚接部件包容其他的Qt窗口部件来实现的。它位于工具栏区的内部,可以作为一个窗口自由地浮动在主窗口上面,也可以像工具栏一样停靠在主窗口的上、下、左、右四个方向上。一个主窗口可以包含多个锚接部件。

  • 中心部件
    中心部件处在锚接部件区的内部、主窗口的中心。一个主窗口只有一个中心部件。

猜你喜欢

转载自blog.csdn.net/bloke_come/article/details/82800098
今日推荐