Qt之自定义界面(二)添加最小化、关闭按钮、添加背景

2024-06-08 02:32

本文主要是介绍Qt之自定义界面(二)添加最小化、关闭按钮、添加背景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在进行自定义界面之后,Qt界面并不像我们想象的那么完美,也许与我们的预期大相径庭,但是不必心烦,这只不过是迈出了第一步而已,第一步既然都已经迈出去了,那么以后的路就会好走多了!

 

1、自定义最小化、最大化按钮

 

 int width = width();//获取界面的宽度


 //构建最小化、最大化、关闭按钮
 QToolButton *minButton = new QToolButton(this);
 QToolButton *closeButton= new QToolButton(this);


 //获取最小化、关闭按钮图标
 QPixmap minPix  = style()->standardPixmap(QStyle::SP_TitleBarMinButton);
 QPixmap closePix = style()->standardPixmap(QStyle::SP_TitleBarCloseButton);

  
 //设置最小化、关闭按钮图标
 minButton->setIcon(minPix);
 closeButton->setIcon(closePix);

 //设置最小化、关闭按钮在界面的位置

 minButton->setGeometry(width-46,5,20,20);
 closeButton->setGeometry(width-25,5,20,20);

 

 //设置鼠标移至按钮上的提示信息

 minButton->setToolTip(tr("最小化"));

 closeButton->setToolTip(tr("关闭"));

 //设置最小化、关闭按钮的样式
 minButton->setStyleSheet("background-color:transparent;");
 closeButton->setStyleSheet("background-color:transparent;");

 

 

这样我们的最小化、最大化按钮就已经出现!

效果如下:

Qt之自定义界面(二)添加最小化、关闭按钮、添加背景

2、自定义背景

 

自定义背景可以使用多种方法,在这里我就介绍三种

(1)使用 QLable,加载图片的方式

 QLabel *background = new QLabel(this);

 

 //设置标签的显示图片
 background->setPixmap(QPixmap(":/icon/login"));

 

 //设置背景图片的位置大小
 background->setGeometry(0, 0, this->width(), this->height());

//设置图片充满整个标签

 background->setScaledContents(true);

(2)使用 QLable,选择背景色的方式

 

QLabel *background = new QLabel(this);

 

//设置标签的背景色为蓝色
background->->setStyleSheet("background-color:blue");

 

//设置背景标签的位置大小
background->setGeometry(0, 0, this->width(), this->height());

 

(3)重写void paintEvent(QPaintEvent *)

 

void MainWidget::paintEvent(QPaintEvent *)
{
    QBitmap bitmap(this->size());
    bitmap.fill();
    QPainter painter(&bitmap);

    QPixmap pixmap(":/icons/login");

    painter.drawPixmap(this->rect(), pixmap);

}

 

这里就不演示效果了,都没问题的!


注:
    技术在于交流、沟通,转载请注明出处并保持作品的完整性。
     作者: ╰☆奋斗ing❤孩子`    原文: http://blog.sina.com.cn/s/blog_a6fb6cc90101auay.html。

这篇关于Qt之自定义界面(二)添加最小化、关闭按钮、添加背景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040989

相关文章

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

基于Spring实现自定义错误信息返回详解

《基于Spring实现自定义错误信息返回详解》这篇文章主要为大家详细介绍了如何基于Spring实现自定义错误信息返回效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景目标实现产出背景Spring 提供了 @RestConChina编程trollerAdvice 用来实现 HTT

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

SpringBoot自定义注解如何解决公共字段填充问题

《SpringBoot自定义注解如何解决公共字段填充问题》本文介绍了在系统开发中,如何使用AOP切面编程实现公共字段自动填充的功能,从而简化代码,通过自定义注解和切面类,可以统一处理创建时间和修改时间... 目录1.1 问题分析1.2 实现思路1.3 代码开发1.3.1 步骤一1.3.2 步骤二1.3.3