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

相关文章

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Springboot使用RabbitMQ实现关闭超时订单(示例详解)

《Springboot使用RabbitMQ实现关闭超时订单(示例详解)》介绍了如何在SpringBoot项目中使用RabbitMQ实现订单的延时处理和超时关闭,通过配置RabbitMQ的交换机、队列和... 目录1.maven中引入rabbitmq的依赖:2.application.yml中进行rabbit

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

Go信号处理如何优雅地关闭你的应用

《Go信号处理如何优雅地关闭你的应用》Go中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用context来管理goroutine的生命周期,结合signal... 目录1. 什么是信号处理?2. 如何优雅地关闭 Go 应用?3. 代码实现3.1 基本的信号捕获和优雅关闭3.2