Qt+C++自定义标题栏最大最小化关闭堆叠切换美化

简介: 这篇博客针对<<Qt+C++自定义标题栏最大最小化关闭堆叠切换美化>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。

程序示例精选

Qt+C++自定义标题栏最大最小化关闭堆叠切换美化

如需安装运行环境或远程调试,可点击右边主头像昵称进入个人主页查看博主联系方式,由专业技术人员远程协助!

前言

这篇博客针对<<Qt+C++自定义标题栏最大最小化关闭堆叠切换美化>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

       一、所需工具软件

       二、使用步骤

               1. 引入库

               2. 创建切换操作函数

               3. 运行结果

        三在线协助


一、所需工具软件

         1. Visual Stuido

         2. C++

二、使用步骤

1.引入库

代码如下(示例):

#include "MainWindow.h"

image.gif

2.创建切换操作函数

代码如下(示例):

//MainWindow.cpp指针实例化
  page = new subwin1(this);//指针实例化
  page_2 = new subwin2(this);
  //![2]多页面添加到堆叠页面里面
  ui.stackedWidget->addWidget(page);
  ui.stackedWidget->addWidget(page_2);
  ui.stackedWidget->setCurrentWidget(page);
//subwin1.cpp窗体引入
#include "subwin1.h"
subwin1::subwin1(QWidget *parent)
  : QWidget(parent)
{
  ui.setupUi(this);
}
subwin1::~subwin1()
{
}
//subwin2.cpp窗体引入
#include "subwin2.h"
subwin2::subwin2(QWidget *parent)
  : QWidget(parent)
{
  ui.setupUi(this);
}
subwin2::~subwin2()
{
}
//按钮最小化窗口
void MainWindow::on_btnMenu_Min_clicked()
{
  this->showMinimized();  
}
//按钮最大化窗口
#include<qdesktopwidget.h>
void MainWindow::on_btnMenu_Max_clicked()
{
  if (max) {
    this->setGeometry;
    //IconHelper::Instance()->SetIcon(ui->btnMenu_Max, QChar(0xf096), 10);
    ui.pushButton_5->setToolTip("最大化");
  }
  else {
    location = this->geometry();
    this->setGeometry(desktop()->availableGeometry());
    //IconHelper::Instance()->SetIcon(ui->btnMenu_Max, QChar(0xf079), 10);
    ui.pushButton_5->setToolTip("还原");
  }
  max = !max;
}
void MainWindow::on_btnMenu_Close_clicked()
{
  qApp->exit();
}
//鼠标双击自定义标题栏最大化与还原
bool MainWindow::eventFilter(QObject* obj, QEvent* event)
{
  if (event->type() == QEvent::MouseButtonDblClick) {
    this->on_btnMenu_Max_clicked();
    return true;
  }
}
//鼠标左键点在边框上按压移动窗口
#include<QMouseEvent>
void MainWindow::mouseMoveEvent(QMouseEvent* e)
{
  if (mousePressed && (e->buttons() && Qt::LeftButton) && !max) {
    this->move(e->globalPos());
  }
}
void MainWindow::mousePressEvent(QMouseEvent* e)
{
  if (e->button() == Qt::LeftButton) {
    mousePressed = true;
    mousePoint = e->globalPos();
  }
}
void MainWindow::mouseReleaseEvent(QMouseEvent*)
{
  mousePressed = false;
}
//鼠标左键点在边框上按压移动窗口结束

image.gif

3.运行结果如下:

image.gif编辑


三、在线协助:

如需安装运行环境或远程调试, 可点击右边 主头像 昵称 进入个人主页查看博主联系方式 ,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Qt, C++, Python入门指导
3)界面美化
4)软件制作


博主推荐文章:python人脸识别统计人数qt窗体-CSDN博客

博主推荐文章:Python Yolov5火焰烟雾识别源码分享-CSDN博客

                        Python OpenCV识别行人入口进出人数统计_python识别人数-CSDN博客

个人博客主页:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

博主所有文章点这里:alicema1111的博客_CSDN博客-Python,C++,网页领域博主


相关文章
|
23天前
|
C语言 C++
C/C++ 自定义头文件,及头文件结构详解
还是从"stdio.h"说起,这是C语言中内置的标准库,也就是说,头文件很多时候其实就是一个“库”,类似于代码的仓库,也就是说将某些具有特定功能的常量、宏、函数等归为一个大类,然后放进这个“仓库”,就像stdio.h就是一个标准输入/输出的头文件
29 1
|
2月前
|
存储 算法 数据库
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
112 0
|
2月前
|
安全 网络协议 数据安全/隐私保护
掌握Qt和C++:构建你的第一个P2P应用程序
掌握Qt和C++:构建你的第一个P2P应用程序
120 3
|
2月前
|
编译器 API C语言
深入探究Qt与C++标准的兼容之旅
深入探究Qt与C++标准的兼容之旅
69 3
|
2月前
|
存储 算法 C语言
【C++ 迭代器实现 终篇】深入理解C++自定义容器和迭代器的实现与应用
【C++ 迭代器实现 终篇】深入理解C++自定义容器和迭代器的实现与应用
56 0
|
2月前
|
存储 算法 API
【Qt 基本类】QDateTime类在C++中的应用与深度解析
【Qt 基本类】QDateTime类在C++中的应用与深度解析
43 0
|
2月前
|
安全 前端开发 C++
C++视角下的Qt按钮:从基础应用到高级定制(二)
C++视角下的Qt按钮:从基础应用到高级定制
45 2
|
2月前
|
XML JSON 算法
C++视角下的Qt按钮:从基础应用到高级定制(一)
C++视角下的Qt按钮:从基础应用到高级定制
92 2
|
2月前
|
存储 缓存 并行计算
C/C++ 数据结构设计与应用(二):自定义数据结构的设计 (Design of Custom Data Structures)
C/C++ 数据结构设计与应用(二):自定义数据结构的设计 (Design of Custom Data Structures)
56 0
|
2月前
|
编译器 API 数据安全/隐私保护
深入对比:Qt 的 QFile/QFileInfo 和与 C++17 Filesystem 和标准文件流 的细节剖析
深入对比:Qt 的 QFile/QFileInfo 和与 C++17 Filesystem 和标准文件流 的细节剖析
103 3

推荐镜像

更多