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++,网页领域博主


相关文章
|
6天前
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
13 0
|
1月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
99 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
11天前
|
搜索推荐 C++
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
15 4
|
5天前
【qt】自定义对话框(2)
【qt】自定义对话框(2)
7 0
|
5天前
【qt】自定义对话框(1)
【qt】自定义对话框(1)
5 0
|
1月前
|
数据可视化 开发者 C++
Qt(C++)使用QChart静态显示3个设备的温度变化曲线
QChart模块是Qt Charts库的基础,提供了用于创建和显示各种类型图表的类和接口。Qt Charts库是一个功能丰富、易于使用的数据可视化工具库,可以帮助开发者在应用程序中添加漂亮而又交互性强的图表。
34 1
Qt(C++)使用QChart静态显示3个设备的温度变化曲线
|
1月前
|
存储 JSON 数据可视化
Qt(C++)使用QChart动态显示3个设备的温度变化曲线
Qt的QChart是一个用于绘制图表和可视化数据的类。提供了一个灵活的、可扩展的、跨平台的图表绘制解决方案,可以用于各种应用程序,如数据分析、科学计算、金融交易等。
108 1
|
1月前
|
C++
Qt中的信号与槽如何学习?(包括自定义信号)这篇文章告诉你
以现实中的事件来举例的话,例如有两把不同颜色的信号枪,分别是红色,绿色,打响不通颜色的信号枪会触发不同的槽发生,比如说打响红色这个人就跑步,绿色就走步,但是还有一个很重要的机制,那就是连接,我们需要把信号枪去跟这个人的动作连接起来。 如果上面理解没问题的话我们可以把信号和槽看成两个工具,我们最重要的是如何去把这两个工具连接起来。 它的作用可以让我们更加灵活的去使用不同窗口间的切换以及某些事件的连接。
|
2月前
|
数据处理 开发工具 C++
Qt C++ 扫码枪使用数据处理
Qt C++ 扫码枪使用数据处理
|
3月前
|
SQL 缓存 安全
【C++入门到精通】异常 | 异常的使用 | 自定义异常体系 [ C++入门 ]
【C++入门到精通】异常 | 异常的使用 | 自定义异常体系 [ C++入门 ]
23 2