Qt 菜单栏、工具栏、状态栏、标签、铆接部件(浮动窗口) 设置窗口核心部件(文本编辑控件)的基本使用

news2024/9/24 15:20:45

效果

代码

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QToolBar>
#include<QDebug>
#include<QPushButton>
#include<QStatusBar>
#include<QLabel>
#include<QDockWidget>
#include<QTextEdit>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //设置窗口大小
    resize(800,600);
    //设置窗口标题
    setWindowTitle("菜单学习");

    //菜单样 只能有一个
    QMenuBar *menu = menuBar();//创建菜单
    //在窗口中添加菜单
    setMenuBar(menu);

    QMenu * menuFile = menu->addMenu("文件");
    QMenu * menuEdit = menu->addMenu("编辑");
    QMenu * menuView = menu->addMenu("视图");
    QMenu * menuBuild = menu->addMenu("构建");
    menu->addMenu("调试");
    menu->addMenu("分析");
    menu->addMenu("工具");
    menu->addMenu("控件");
    menu->addMenu("帮助");

    //向菜单中添加 菜单项
    menuFile->addAction("新建");
    menuFile->addAction("打开");
    menuFile->addAction("保存");
    //添加项目分隔线
    menuFile->addSeparator();
    menuFile->addAction("打开文件或项目");

    menuEdit->addAction("撤销");
    menuEdit->addAction("重做");

    //工具栏 可以有多个
    QToolBar * toolBar = new QToolBar(this);
    //向窗口中添加工具栏
    //addToolBar(toolBar);// 默认是四边都可以
    addToolBar(Qt::LeftToolBarArea,toolBar);//停在左边
    //设置停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);//左右都可以停

    //设置是否可以浮动
    toolBar->setFloatable(false);

    //设置是否可以移动
    toolBar->setMovable(false);

    toolBar->addAction("按钮");
    toolBar->addAction("标签");
    //添加分隔线
    toolBar->addSeparator();

    //在工具栏中添加控件
    QPushButton * btn = new QPushButton("PushButton",this);
    toolBar->addWidget(btn);

    //状态栏 最多有一个
    QStatusBar *stBar = statusBar();
    //设置到窗口中
    setStatusBar(stBar);

    //放标签
    QLabel * lblLeft = new QLabel(this);
    lblLeft->setText("左边提示");

    //添加到状态栏中
    stBar->addWidget(lblLeft);//显示在左边

    QLabel * lblRight = new QLabel("右边提示",this);
    stBar->addPermanentWidget(lblRight);//显示在右边标签

    //铆接部件 (浮动窗口)可以有多个
    QDockWidget * dockWidget = new QDockWidget("浮动窗口",this);
    //可以有多个的用addXXX函数
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea);

    //设置窗口核心部件 最多只有一个
    QTextEdit * textEdit = new QTextEdit(this);
    setCentralWidget(textEdit);//只能有一个的是setXX函数

    //如果记添加控件的函数是set开头还是add的开头
    //只能有一个控件的使用setXX函数,如 设置窗口核心部件 最多只有一个 setCentralWidget(textEdit); setStatusBar(stBar);
    //可以添加多个控件的使用addXXX函数, 如 铆接部件 (浮动窗口)可以有多个 addDockWidget(Qt::BottomDockWidgetArea,dockWidget); toolBar->addWidget(btn);

}

MainWindow::~MainWindow()
{
    delete ui;
}

源码下载 https://download.csdn.net/download/cjh16606260986/89757591

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2138494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第1步win10宿主机与虚拟机通过NAT共享上网互通

VM的CentOS采用NAT共用宿主机网卡宿主机器无法连接到虚拟CentOS 要实现宿主机与虚拟机通信&#xff0c;原理就是给宿主机的网卡配置一个与虚拟机网关相同网段的IP地址&#xff0c;实现可以互通。 1、查看虚拟机的IP地址 2、编辑虚拟机的虚拟网络的NAT和DHCP的配置&#xff0c;…

springboot3.X版本集成mybatis遇到的问题

由于我本地springboot为3.x版本&#xff0c;如下图所示&#xff0c;最新版本 当我参照如下搜索的内容去集成mybatis的时候&#xff0c;会出现各种各样的报错 最根本的原因是搜出来的配置是参照springboot2.X版本&#xff0c;当我们使用springboot3.x版本之后&#xff0c;需要配…

【C++】STL--string(上)

前言 C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c;但是这些库函数与字符串是分离开的&#xff0c;不太符合OOP的思想&#xff0c;而且底层空间需要用户自己管理&#xff0c;稍不留…

8个前端库-小且美

前提&#xff1a;前端有很多小而美的库&#xff0c;接入成本很低又能满足日常开发需求&#xff0c;同时无论是 npm 方式引入还是直接复制到本地使用都可以。 1.radash radash相比与 lodash&#xff0c;更加面向现代&#xff0c;提供更多新功能&#xff08;tryit&#xff0c;…

前端层面----监控与埋点

前言&#xff1a; 站在产品的视角&#xff0c;经常会问如下几个问题&#xff1a; 产品有没有用户使用 用户用得怎么样 系统会不会经常出现异常 如何更好地满足用户需求服务用户 当站在技术视角时&#xff0c;经常会问如下几个问题&#xff1a; 系统出现异常的频率如何 异常…

MyBatis中多对一关系的三种处理方法

目录 MyBatis中多对一关系的三种处理方法 1.通过级联属性赋值 1&#xff09;mapper 2&#xff09;mapper.xml 3&#xff09;测试代码 4&#xff09;测试结果 2.通过标签 1&#xff09;mapper 2&#xff09;mapper.xml 3&#xff09;测试代码 4&#xff09;测试结果 3.分步查询 …

【技术调研】三维(4)-ThreeJs阴影投射、光线投射及案例

阴影投射 阴影是灯光经过物体后产生的&#xff0c;几个关键的设置&#xff1a; 灯光属性设置&#xff1a;.castShadow : Boolean 。此属性设置为 true 灯光将投射阴影。注意&#xff1a;这样做的代价比较高&#xff0c;需要通过调整让阴影看起来正确。 查看 DirectionalLight…

STM32(十四):USART串口数据包

HEX数据包 0xFF包头&#xff0c;0xFE包尾。 如果数据和包头包尾重复&#xff0c;可能会引起误判。 解决办法&#xff1a; 1. 限制载荷数据的范围 2. 如果无法避免载荷数据和包头包尾重复&#xff0c;就使用尽量使用固定长度数据包。 包头 ‘\r\n 包尾 在载荷数据中间可以出现…

代码23. 合并 K 个升序链表

模拟面试的时候没做出来&#xff0c;心碎了。 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 自己的思考 无思考&#xff0c;直接看答案吧。 正确答案 其实写还是自己写的&#xff0c;看了下题解的思路。 第一种 思路简单&#xff0c;两两合并&#xff0c;注意事项已…

李飞飞任CEO,空间智能公司World Labs亮相,全明星阵容曝光

人工智能的下个大方向已经出现&#xff0c;标志性学者决定下场创业。 本周五&#xff0c;一个重磅消息引爆了 AI 圈&#xff1a;斯坦福大学计算机科学家李飞飞正式宣布创办 AI 初创公司 ——World Labs&#xff0c;旨在向人工智能系统传授有关物理现实的深入知识。 李飞飞说道&…

【检索快,IEEE独立出版】2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024)

大会简介&#xff1a; 2024年第四届电子信息工程与计算机科学国际会议&#xff08;EIECS 2024&#xff09;将于2024年9月27日至29日在中国延吉举行。会议由长春理工大学主办&#xff0c;延边大学、长春理工大学电子信息工程学院、长春理工大学计算机科学技术学院、长春理工大学…

数据结构——栈和队列(栈的顺序存储结构和链式存储结构)

栈的定义 栈是一种重要的线性结构&#xff0c;可以这样讲&#xff0c;栈是前面讲过的线性表的一种具体形式。就像我们刚才的例子&#xff0c;栈这种后进先出的数据结构应用是非常广泛的。在生活中&#xff0c;例如我们的浏览器&#xff0c;每次点击一次“后退”都是退回到最近…

数据库密钥管理的密钥生成

数据库密钥管理是指对数据库中使用的加密密钥进行的一系列安全操作&#xff0c;以确保数据的机密性、完整性和可用性。这一管理过程通常包括密钥的生成、存储、分发、使用和销毁等环节。以下是关于数据库密钥管理的详细解析&#xff1a; 一、密钥的生成 目的&#xff1a;生成用…

谷歌图像生成AI-imagen 3新手入门指南!

1Google 最近推出了 Imagen 3&#xff0c;这是目前为止其最先进的文本生成图像模型。它基于之前的版本进行了改进&#xff0c;提供了更加精确的图像生成&#xff0c;减少了图像中的瑕疵&#xff0c;能够生成逼真、栩栩如生的图像。相比于早期版本&#xff0c;Imagen 3 可以处理…

Linux:重定向以及管道

重定向&#xff08;重新定向命令的输出&#xff09; 将前面命令的输出&#xff0c;作为内容&#xff0c;写入到后面的文件 管道 管道&#xff08;操作符号 | &#xff09; 作用&#xff1a;将前面命令的输出&#xff0c;传递给后面命令&#xff0c;作为后面命令的参数…

通信工程学习:什么是SNI业务节点接口

SNI&#xff1a;业务节点接口 SNI业务节点接口&#xff0c;全称Service Node Interface&#xff0c;是接入网&#xff08;AN&#xff09;和一个业务节点&#xff08;SN&#xff09;之间的接口&#xff0c;位于接入网的业务侧。这一接口在通信网络中扮演着重要的角色&#xff0c…

【机器学习-四-无监督学习unsupervise learning-聚类算法简介】

无监督学习unsupervise learning 聚类聚类的过程相似度度量方法聚类的方法划分式层次聚类基于密度的聚类 上一节讲的无监督学习&#xff0c;但是很多人可能会很疑惑&#xff0c;没有目标&#xff0c;那算法是怎么学会该怎样分类的呢&#xff1f;今天就简介一下其中的聚类算法。…

使用 SpringBoot 基础web开发的支持

首先导入项目相关的依赖&#xff1a; pom.xml 文件&#xff1a; 导入相关项目依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-in…

句子成分——每日一划(八)

目录 一、原句 二、第一部分 三、第二部分 一、原句 In class society everyone lives as a member of a particular class, and every kind of thinking, without exception, is stamped with the brand of a class. 来源&#xff1a;二、阶级和阶级斗争 二、第一部分 In…

免费像素画绘制软件 | Pixelorama v1.0.3

Pixelorama 是一款开源像素艺术多工具软件&#xff0c;旨在为用户提供一个强大且易于使用的平台来创作各种像素艺术作品&#xff0c;包括精灵、瓷砖和动画。这款软件以其丰富的工具箱、动画支持、像素完美模式、剪裁遮罩、预制及可导入的调色板等特色功能&#xff0c;满足了像素…