Qt 菜单栏、工具栏、状态栏、标签、铆接部件(浮动窗口) 设置窗口核心部件( ...

打印 上一主题 下一主题

主题 513|帖子 513|积分 1549

结果

代码
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include<QToolBar>
  4. #include<QDebug>
  5. #include<QPushButton>
  6. #include<QStatusBar>
  7. #include<QLabel>
  8. #include<QDockWidget>
  9. #include<QTextEdit>
  10. MainWindow::MainWindow(QWidget *parent)
  11.     : QMainWindow(parent)
  12.     , ui(new Ui::MainWindow)
  13. {
  14.     ui->setupUi(this);
  15.     //设置窗口大小
  16.     resize(800,600);
  17.     //设置窗口标题
  18.     setWindowTitle("菜单学习");
  19.     //菜单样 只能有一个
  20.     QMenuBar *menu = menuBar();//创建菜单
  21.     //在窗口中添加菜单
  22.     setMenuBar(menu);
  23.     QMenu * menuFile = menu->addMenu("文件");
  24.     QMenu * menuEdit = menu->addMenu("编辑");
  25.     QMenu * menuView = menu->addMenu("视图");
  26.     QMenu * menuBuild = menu->addMenu("构建");
  27.     menu->addMenu("调试");
  28.     menu->addMenu("分析");
  29.     menu->addMenu("工具");
  30.     menu->addMenu("控件");
  31.     menu->addMenu("帮助");
  32.     //向菜单中添加 菜单项
  33.     menuFile->addAction("新建");
  34.     menuFile->addAction("打开");
  35.     menuFile->addAction("保存");
  36.     //添加项目分隔线
  37.     menuFile->addSeparator();
  38.     menuFile->addAction("打开文件或项目");
  39.     menuEdit->addAction("撤销");
  40.     menuEdit->addAction("重做");
  41.     //工具栏 可以有多个
  42.     QToolBar * toolBar = new QToolBar(this);
  43.     //向窗口中添加工具栏
  44.     //addToolBar(toolBar);// 默认是四边都可以
  45.     addToolBar(Qt::LeftToolBarArea,toolBar);//停在左边
  46.     //设置停靠
  47.     toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);//左右都可以停
  48.     //设置是否可以浮动
  49.     toolBar->setFloatable(false);
  50.     //设置是否可以移动
  51.     toolBar->setMovable(false);
  52.     toolBar->addAction("按钮");
  53.     toolBar->addAction("标签");
  54.     //添加分隔线
  55.     toolBar->addSeparator();
  56.     //在工具栏中添加控件
  57.     QPushButton * btn = new QPushButton("PushButton",this);
  58.     toolBar->addWidget(btn);
  59.     //状态栏 最多有一个
  60.     QStatusBar *stBar = statusBar();
  61.     //设置到窗口中
  62.     setStatusBar(stBar);
  63.     //放标签
  64.     QLabel * lblLeft = new QLabel(this);
  65.     lblLeft->setText("左边提示");
  66.     //添加到状态栏中
  67.     stBar->addWidget(lblLeft);//显示在左边
  68.     QLabel * lblRight = new QLabel("右边提示",this);
  69.     stBar->addPermanentWidget(lblRight);//显示在右边标签
  70.     //铆接部件 (浮动窗口)可以有多个
  71.     QDockWidget * dockWidget = new QDockWidget("浮动窗口",this);
  72.     //可以有多个的用addXXX函数
  73.     addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
  74.     dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea);
  75.     //设置窗口核心部件 最多只有一个
  76.     QTextEdit * textEdit = new QTextEdit(this);
  77.     setCentralWidget(textEdit);//只能有一个的是setXX函数
  78.     //如果记添加控件的函数是set开头还是add的开头
  79.     //只能有一个控件的使用setXX函数,如 设置窗口核心部件 最多只有一个 setCentralWidget(textEdit); setStatusBar(stBar);
  80.     //可以添加多个控件的使用addXXX函数, 如 铆接部件 (浮动窗口)可以有多个 addDockWidget(Qt::BottomDockWidgetArea,dockWidget); toolBar->addWidget(btn);
  81. }
  82. MainWindow::~MainWindow()
  83. {
  84.     delete ui;
  85. }
复制代码
源码下载 https://download.csdn.net/download/cjh16606260986/89757591

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表