【接口封装】——16、等级迭代图标实现

server/2025/3/4 10:37:44/

 解释:

1、封装内容:1个按钮画上两张图片(等级迭代)

2、参数:需要描述的等级

函数定义:

#include <QTimer>
#define LV_PNG				    "..."
#define LV_PNG_HEIGHT			7
#define LV_PNG_WIDTH			10#define LV_NUM_PNG				"..."
#define LV_NUM_HEIGHT			7
#define LV_NUM_WIDTH			6void initLevelButton();void drawLevelButton(int level);

源代码:

void CCMainWindow::initLevelButton()
{drawLevelButton(0);QTimer* timer = new QTimer(this);timer->setInterval(100);            //间隔毫秒connect(timer, &QTimer::timeout,    //循环响应开始[this]() {static int lv = 0;if (lv == 99) lv = 0;        //循环节点drawLevelButton(lv++);});timer->start();                    //时间开始}void CCMainWindow::drawLevelButton(int level)
{QPixmap pixmap(ui.levelBtn->size());	//画布pixmap.fill(Qt::transparent);QPainter p(&pixmap);	//笔int y = (ui.levelBtn->height() - LV_PNG_HEIGHT) / 2;p.drawPixmap(0, y, QPixmap(LV_PNG));int tenNum = level / 10;int unitNum = level % 10;QPixmap levelValue(LV_NUM_PNG);//绘制十位p.drawPixmap(LV_PNG_WIDTH, y, levelValue,	//在 LV 后面开始绘制tenNum*LV_NUM_WIDTH, 0,			//起点LV_NUM_WIDTH, LV_NUM_HEIGHT);	//终点(大小)//个位p.drawPixmap(LV_NUM_WIDTH + LV_PNG_WIDTH, y, levelValue,	//在 LV 十位数字 后面unitNum*LV_NUM_WIDTH, 0,			//起点LV_NUM_WIDTH, LV_NUM_HEIGHT);		//终点(大小)ui.levelBtn->setIcon(pixmap);ui.levelBtn->setIconSize(ui.levelBtn->size());
}


http://www.ppmy.cn/server/172309.html

相关文章

2016年蓝桥杯第七届CC++大学B组真题及代码

目录 1A&#xff1a;煤球数目&#xff08;3分填空_简单枚举&#xff09; 2B&#xff1a;生日蜡烛&#xff08;5分填空_简单枚举&#xff09; 3C&#xff1a;凑算式&#xff08;11分填空_全排列&#xff09; 4D&#xff1a;快速排序&#xff08;9分代码填空&#xff09; 5E…

第十五届蓝桥杯:dfs之数字接龙

#include <iostream> using namespace std; const int N 300; int a[N][N];//存值 int b[N][N];//判断某个点是否出现过 int n,k; string path; int dx[] {-1,-1,0,1,1,1,0,-1}; int dy[] {0,1,1,1,0,-1,-1,-1}; bool dfs(int x,int y,int cur,int pos) {if(pos n*n…

Java—初始多线程

多线程的理解 进程&#xff1a; 进程是程序的基本执行实体 每一个运行的软件都是一个进程 线程&#xff1a; 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。 简单理解&#xff1a;应用软件中互相独立&#xff0c;可以…

npm ERR! code 128 npm ERR! An unknown git error occurred

【问题描述】 【问题解决】 管理员运行cmd&#xff08;右键window --> 选择终端管理员&#xff09; 执行命令 git config --global url.“https://”.insteadOf ssh://git cd 到项目目录 重新执行npm install 个人原因&#xff0c;这里执行npm install --registryhttps:…

realsenseD455相机录制bag转为TUM数据集

本文参考 文章https://blog.csdn.net/m0_60355964/article/details/129518283?ops_request_misc%257B%2522request%255Fid%2522%253A%252211559cdf09f5ff02d4b1d97f2b0744ee%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id11559cdf09f5ff02d…

贪心算法精品题

1.找钱问题 本题的贪心策略在于我们希望就可能的保留作用大的5元 class Solution { public:bool lemonadeChange(vector<int>& bills) {std::map<int ,int> _map;for(auto ch:bills){if(ch 5) _map[ch];else if(ch 10){if(_map[5] 0) return false;else{_m…

计算机毕业设计SpringBoot+Vue.js手机商城 (源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

深度解析Ant Design Pro 6开发实践

深度解析Ant Design Pro 6全栈开发实践&#xff1a;从架构设计到企业级应用落地 一、Ant Design Pro 6核心特性与生态定位&#xff08;技术架构分析&#xff09; 作为Ant Design生态体系的旗舰级企业应用中台框架&#xff0c;Ant Design Pro 6基于以下技术栈实现突破性升级&am…