栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

【C++入门学习】——MainWindow

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C++入门学习】——MainWindow

1.未写入代码时窗口如下:

2.添加菜单栏前需要增加的头文件:
#include 

3.创建菜单栏:

注意所创建的菜单栏是空菜单栏,也就是说创建之后,菜单栏上没有任何内容。

    //创建一个空菜单栏,菜单栏只能有一个
    QMenuBar *bar1=menuBar();
    //将菜单栏放置于所创建的窗口上
    setMenuBar(bar1);

4.在菜单栏上创建内容:
//创建菜单,添加内容到菜单栏上,FileMenu等为该菜单的返回值
    QMenu *fileMenu=bar1->addMenu("File");

5.创建菜单项
    //创建菜单项
    fileMenu->addAction("新建");
    fileMenu->addAction("打开");
    fileMenu->addAction("退出");

6.添加分割线:
    //添加分割线
    fileMenu->addSeparator();

7.创建工具栏:
    //创建工具栏
    QToolBar *bar2=new QToolBar(this);
    addToolBar(bar2);

8.改变工具栏的位置;

工具栏位置表示:

如:将工具栏置于左侧:

    //设定工具栏的位置,如左侧,第二个参数为被设置的工具栏
    addToolBar(Qt::LeftToolBarArea,bar2);

点击工具栏上方 … 处可以拖拽工具栏

设置工具栏不可拖拽:

    //设置工具栏固定不可移动
    bar2->setMovable(false);

该代码设置后工具栏无法拖拽。

设置允许停靠工具栏的位置;

    //设置只允许工具栏在设定位置停靠,|表示“或”
    bar2->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
9.设置窗口是否可浮动:
    //设置是否不可浮动,setFloatable参数为bool类型,默认可浮动
    bar2->setFloatable(false);

可浮动时在非边缘会变成以下格式:

10.在工具栏中添加内容:

用QAction定义菜单栏中的菜单项,在工具栏中可以展示菜单项

    //创建窗口中的选项
    QAction *newAction=windMenu->addAction("新建");
    windMenu->addSeparator();
    QAction *stopAction=windMenu->addAction("关闭");
    windMenu->addSeparator();
    QAction *manageAction=windMenu->addAction("管理");
    windMenu->addSeparator();
	......
	    //在工具栏上添加内容
    bar2->addAction(newAction);
    bar2->addAction(stopAction);
    bar2->addAction(manageAction);


在工具栏内添加控件:
用addWidget添加控件。

    //在工具栏上添加控件
    QPushButton *button1=new QPushButton("QP",this);
    bar2->addWidget(button1);

11.设置状态栏
	#include //状态栏头文件
	.......
    //创建状态栏,状态栏只能有一个
    QStatusBar *statusBar1=new QStatusBar();
    //将所创建的状态栏置于当前窗口上
    setStatusBar(statusBar1);

12.在状态栏上添加内容:

添加标签控件:

    //在状态栏上放置标签控件
    QLabel *label1=new QLabel("2022年08月08日",this);
    statusBar1->addWidget(label1);

使用addWidget添加控件时显示在左侧:

使用PermannentWidget时显示在右侧:

13.创建铆接部件并添加到窗口上:
    //添加铆接部件(浮动窗口),可以有多个铆接部件
    QDockWidget * dockWidget1=new QDockWidget("浮动窗口名称",this);
    addDockWidget(Qt::LeftDockWidgetArea,dockWidget1);



铆接部件放置的位置

所创建出的浮动窗口:

浮动窗口可以移动:

设置停靠区域:

14.设置中心部件:
    //设置中心部件
    QTextEdit *textEdit1=new  QTextEdit(this);
    setCentralWidget(textEdit1);


所用总代码如下:

#include "mainwindow.h"
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //重置窗口大小
    resize(600,400);
    //创建一个空菜单栏
    QMenuBar *bar1=menuBar();
    //将菜单栏放置于所创建的窗口上
    setMenuBar(bar1);
    //创建菜单,添加内容到菜单栏上,FileMenu等为该菜单的返回值
    QMenu *fileMenu=bar1->addMenu("文件");
    QMenu *edictMenu=bar1->addMenu("编辑");
    QMenu *windMenu=bar1->addMenu("窗口");
    //创建菜单项
    fileMenu->addAction("新建");
    //添加分割线
    fileMenu->addSeparator();
    fileMenu->addAction("打开");
    fileMenu->addSeparator();
    fileMenu->addAction("关闭");
    fileMenu->addSeparator();
    fileMenu->addAction("退出");
    fileMenu->addSeparator();
    edictMenu->addAction("粘贴");
    edictMenu->addSeparator();
    edictMenu->addAction("复制");
    edictMenu->addSeparator();
    edictMenu->addAction("全选");
    edictMenu->addSeparator();
    edictMenu->addAction("删除");
    edictMenu->addSeparator();
    edictMenu->addAction("撤销");
    edictMenu->addSeparator();
    //创建窗口中的选项
    QAction *newAction=windMenu->addAction("新建");
    windMenu->addSeparator();
    QAction *stopAction=windMenu->addAction("关闭");
    windMenu->addSeparator();
    QAction *manageAction=windMenu->addAction("管理");
    windMenu->addSeparator();
    //创建工具栏,工具栏可以有多个
    QToolBar *bar2=new QToolBar(this);
    //设定工具栏的位置,如左侧,第二个参数为被设置的工具栏
    addToolBar(Qt::LeftToolBarArea,bar2);
    //设置工具栏固定不可移动
    bar2->setMovable(false);
    //设置只允许工具栏在设定位置停靠,|表示“或”
    bar2->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
    //设置是否不可浮动,setFloatable参数为bool类型,默认可浮动
    bar2->setFloatable(false);
    //在工具栏上添加内容
    bar2->addAction(newAction);
    bar2->addAction(stopAction);
    bar2->addAction(manageAction);
//    //在工具栏上添加控件
//    QPushButton *button1=new QPushButton("QP",this);
//    bar2->addWidget(button1);

    //创建状态栏,状态栏只能有一个
    QStatusBar *statusBar1=new QStatusBar();
    //将所创建的状态栏置于当前窗口上
    setStatusBar(statusBar1);
    //在状态栏上放置标签控件
    QLabel *label1=new QLabel("2022年08月08日",this);
    statusBar1->addWidget(label1);
    QLabel *label2=new QLabel("星期一,15:36",this);
    statusBar1->addPermanentWidget(label2);
    //添加铆接部件(浮动窗口),可以有多个铆接部件
    QDockWidget * dockWidget1=new QDockWidget("浮动窗口名称",this);
    addDockWidget(Qt::LeftDockWidgetArea,dockWidget1);
    //设置铆接部件停靠位置
    dockWidget1->setAllowedAreas(Qt::TopDockWidgetArea|Qt::LeftDockWidgetArea);
    //设置中心部件
    QTextEdit *textEdit1=new  QTextEdit(this);
    setCentralWidget(textEdit1);
}

MainWindow::~MainWindow()
{
}


本篇笔记为B站学习后总结,侵删。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号