[转载]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;");
这样我们的最小化、最大化按钮就已经出现!
效果如下:
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);
}
这里就不演示效果了,都没问题的!
[转载]Qt之自定义界面(二)添加最小化、关闭按钮、添加背景相关推荐
- [转载]Qt之自定义界面(二)添加最小化、关闭按钮、添加背景_vortex_新浪博客...
很棒的文章 原文地址:Qt之自定义界面(二)添加最小化.关闭按钮.添加背景作者:一去丶二三里 在进行自定义界面之后,Qt界面并不像我们想象的那么完美,也许与我们的预期大相径庭,但是不必心烦,这只不过是 ...
- MFC子窗口设置,添加最小化按键,显示任务栏图标,点击关闭退出程序
MFC子窗口默认只有一个关闭按钮,并且没有任务栏图标存在,如何给子窗口添加最小化按钮并且显示任务栏图标 在窗体的属性菜单中,有Minimize Box项设置成true,就会出现最小化按钮 在窗体的On ...
- WPF自定义最大化最小化关闭按钮
WPF自定义最大化最小化关闭按钮 当觉得界面自带的最大化最小化关闭按钮不好看,或者想换个位置的时候,你需要自定义最大化最小化关闭按钮 最大化按钮 最大化按钮有两种状态:最大化,跟还原状态两种显示方式. ...
- Qt cef3 无边框程序最小化之后,再打开 hover 状态失效
1. 使用qt + cef3 开发的 pc 桌面程序出现一个奇怪的问题,描述如下: 1. 程序最小化之后,再最大化,所有Qt 按钮的hover状态都失效. 2. hover 失效后的程序,showNo ...
- Centos8 初体验 (二)最小化安装下查看已安装的软件包列表,并尝试dnf安装vim软件,以及dnf常用的一些操作
目录 通过dnf list 查看最小化安装的软件包都有哪些 用dnf 安装软件 dnf 下载源查看: dnf 下载包到当前目录,或指定目录 查看所有包或指定包的依赖关系 检查包文件所依赖的前置条件和配 ...
- 第二章 Electron自定义界面(最大化、最小化、关闭、图标等等)
一.介绍
- QT制作的软件全屏显示后最小化,点击任务栏图标打开时不是全屏
QT制作的软件全屏显示后最小化,点击任务栏图标打开时不是全屏 前言 用QT做了一个小软件,把它自带的窗口栏给屏蔽了自己搞了关闭和最小化的按钮,且软件打开是全屏显示的.如今遇到的问题是,打开软件全屏显示 ...
- Qt 窗口的一些简单设置-标题、图标、最大化最小化按钮、任务栏图标
一些很零散的窗体控制方法,在这总结一些. 1.更改窗体标题 this->setWindowTitle("窗体标题"); 窗体标题"就是更改的窗体标题 2.控制窗体大 ...
- C#实现winform软件开机自动启动并最小化到系统托盘
一.开机自动启动: 拖一个CheckBox 1.软件启动时给CheckBox重置状态: RegistryKey R_local = Registry.LocalMachine; ...
最新文章
- 参加完Python培训后可以找什么工作
- asp.net开发中自定义网站的目录
- python psi计算_KL散度,PSI,IV值之间的故事
- 查看windows系统当前使用的字符集
- 交换机工作原理_什么是POE交换机,它有什么好处?
- Graphpad Prism 9绘制子列图与柱状图
- springboot异步注解_SpringBoot如何实现异步、定时任务?
- zentao怎么卸载linux,linux下搭建ZenTaoPMS项目管理软件
- [作业]RSA应用加密解密程序[2009-03-25]
- python控制gpio产生固定数量的脉冲_STM32L151用dma控制GPIO口发出指定的脉冲个数的疑惑!...
- 【ZJCPC2019 第16届 浙江省赛】The 16th Zhejiang Provincial Collegiate Programming Contest(GFHIJ 5题)
- 解决Spring Boot启动项目Tomcat不能访问80端口的问题
- 申作军海通机器人_青岛海通机器人系统有限公司
- js基础-23-websocket和ajax的区别
- 腾讯微博android版本,腾讯微博Android V1.2.2版体验
- 高阶面试官应掌握哪些面试技巧
- 从浏览器中获取headers
- 老男孩教育 | 5分钟带你搞懂日志采集利器Filebeat!
- 箴言:统计学的智慧七柱
- php木马伪装成图片,木马伪装图片运行的技巧
热门文章
- 天 月_财务结算专业术语快来学习!月结和月结30天的区别
- java 判断类型_Java中类型判断的几种方式
- arcgis开发 多版本之间如何兼容_arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)...
- document api java_GitHub - liuanxin/api-document: java spring-mvc document collect
- 计算机程序编辑的英语,编译程序是为把高级语言书写的计算机程序翻译成面向计算机的目标程序而使用的计算机程序...
- html画布画带百分比饼状图,echart.js如何画带百分比的饼状图
- 面试前,不要这么准备了,简直愚蠢到极点
- 测试上路2年,你处于什么阶段了?不醒着拼,你连应届生都比不过...
- 测试行业爬了7年,从功能测试到高级测试,工资也翻了好几倍
- MATLAB 读取文件数据(txt)