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

 程序示例精选

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

如需安装运行环境或远程调试,见文章底部个人微信名片,由专业技术人员远程协助!

前言

这篇博客针对<>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

        一、所需工具软件

        二、使用步骤

                1. 引入库

                2. 创建切换操作函数

                3. 运行结果

         三在线协助


一、所需工具软件

          1. Visual Stuido

          2. C++

二、使用步骤

1.引入库

代码如下(示例):

#include "MainWindow.h"

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
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
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;
}
//鼠标左键点在边框上按压移动窗口结束

3.运行结果如下: 

Qt+C++自定义标题栏最大最小化关闭堆叠切换美化_第1张图片

 

三、在线协助: 

如需安装运行环境或远程调试,见文章底部个人微信名片,由专业技术人员远程协助!

1)远程安装运行环境,调试代码

2)Qt, C++, Python入门培训

3)界面美化

4)软件制作

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

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

你可能感兴趣的:(C++,ui,c++,开发语言,qt)