项目场景:

在使用qt中的painter直接进行绘制时,有时会用到fillrect进行填充矩形的展示,此函数预设了很多的颜色,在网上我暂时没找到直接能够查看的颜色展示,在此我写一个程序用于直接展示出来,截图在此,方便自己以及有一样需求的人直接查看


代码描述:

通过生成pdf以及保存pdf的方式,直接调用QPdfWriter,QPrinter这两种库,进行编程展示。需要提前引入printsupport的插件(和gui,charts差不多的东西)。最终代码以及展示结果见正文,不想看的也可以直接看结果。(QT5.12.5以上版本才有)

1.fillRect代码和预设值有关的函数

inline void fillRect(int x, int y, int w, int h, QGradient::Preset preset);
inline void fillRect(const QRect &r, QGradient::Preset preset);
inline void fillRect(const QRectF &r, QGradient::Preset preset);

2.展示代码

 //设置pdf保存的路径QString file_path = pdfSaveAs(QString::fromLocal8Bit("展示QGradient预设值"));if(file_path.isEmpty())return;QFile pdfFile(file_path);pdfFile.open(QIODevice::WriteOnly);QPdfWriter* pWriter = new QPdfWriter(&pdfFile);//Init PagepWriter->setPageSize(QPagedPaintDevice::A4);pWriter->setResolution(300);    //设置dpi 每个平方英寸像素为300pWriter->setPageMargins(QMarginsF(30, 30, 30, 30));QPainter* pPainter = new QPainter(pWriter);//Painter PDFqDebug() << pPainter->viewport();int nPDFWidth = pPainter->viewport().width();int nPDFHeight = pPainter->viewport().height();//test startint realcolor = 0;int realheight = 0;while (realcolor < 180){realcolor++;QGradient::Preset a = QGradient::Preset(realcolor);pPainter->fillRect(QRect(0, realheight, nPDFWidth, 100), a);pPainter->setFont(QFont("黑体", 26, 60));pPainter->drawText(QRect(0, realheight, nPDFWidth, 100), Qt::AlignCenter,QString::fromLocal8Bit("测试预设颜色%1").arg(realcolor));realheight += 100;if (realheight >= nPDFHeight){pWriter->newPage();realheight = 0;}}//test end//绘制完毕delete pPainter;delete pWriter;pdfFile.close();//通过其它PDF阅读器来打开PDFQDesktopServices::openUrl(QUrl::fromLocalFile(file_path));

结果图展示:

enum Preset {WarmFlame = 1,NightFade = 2,SpringWarmth = 3,JuicyPeach = 4,YoungPassion = 5,LadyLips = 6,SunnyMorning = 7,RainyAshville = 8,FrozenDreams = 9,WinterNeva = 10,DustyGrass = 11,TemptingAzure = 12,HeavyRain = 13,AmyCrisp = 14,MeanFruit = 15,DeepBlue = 16,RipeMalinka = 17,CloudyKnoxville = 18,MalibuBeach = 19,NewLife = 20,TrueSunset = 21,MorpheusDen = 22,RareWind = 23,NearMoon = 24,WildApple = 25,SaintPetersburg = 26,PlumPlate = 28,EverlastingSky = 29,HappyFisher = 30,Blessing = 31,SharpeyeEagle = 32,LadogaBottom = 33,LemonGate = 34,ItmeoBranding = 35,ZeusMiracle = 36,OldHat = 37,StarWine = 38,HappyAcid = 41,AwesomePine = 42,NewYork = 43,ShyRainbow = 44,MixedHopes = 46,FlyHigh = 47,StrongBliss = 48,FreshMilk = 49,SnowAgain = 50,FebruaryInk = 51,KindSteel = 52,SoftGrass = 53,GrownEarly = 54,SharpBlues = 55,ShadyWater = 56,DirtyBeauty = 57,GreatWhale = 58,TeenNotebook = 59,PoliteRumors = 60,SweetPeriod = 61,WideMatrix = 62,SoftCherish = 63,RedSalvation = 64,BurningSpring = 65,NightParty = 66,SkyGlider = 67,HeavenPeach = 68,PurpleDivision = 69,AquaSplash = 70,SpikyNaga = 72,LoveKiss = 73,CleanMirror = 75,PremiumDark = 76,ColdEvening = 77,CochitiLake = 78,SummerGames = 79,PassionateBed = 80,MountainRock = 81,DesertHump = 82,JungleDay = 83,PhoenixStart = 84,OctoberSilence = 85,FarawayRiver = 86,AlchemistLab = 87,OverSun = 88,PremiumWhite = 89,MarsParty = 90,EternalConstance = 91,JapanBlush = 92,SmilingRain = 93,CloudyApple = 94,BigMango = 95,HealthyWater = 96,AmourAmour = 97,RiskyConcrete = 98,StrongStick = 99,ViciousStance = 100,PaloAlto = 101,HappyMemories = 102,MidnightBloom = 103,Crystalline = 104,PartyBliss = 106,ConfidentCloud = 107,LeCocktail = 108,RiverCity = 109,FrozenBerry = 110,ChildCare = 112,FlyingLemon = 113,NewRetrowave = 114,HiddenJaguar = 115,AboveTheSky = 116,Nega = 117,DenseWater = 118,Seashore = 120,MarbleWall = 121,CheerfulCaramel = 122,NightSky = 123,MagicLake = 124,YoungGrass = 125,ColorfulPeach = 126,GentleCare = 127,PlumBath = 128,HappyUnicorn = 129,AfricanField = 131,SolidStone = 132,OrangeJuice = 133,GlassWater = 134,NorthMiracle = 136,FruitBlend = 137,MillenniumPine = 138,HighFlight = 139,MoleHall = 140,SpaceShift = 142,ForestInei = 143,RoyalGarden = 144,RichMetal = 145,JuicyCake = 146,SmartIndigo = 147,SandStrike = 148,NorseBeauty = 149,AquaGuidance = 150,SunVeggie = 151,SeaLord = 152,BlackSea = 153,GrassShampoo = 154,LandingAircraft = 155,WitchDance = 156,SleeplessNight = 157,AngelCare = 158,CrystalRiver = 159,SoftLipstick = 160,SaltMountain = 161,PerfectWhite = 162,FreshOasis = 163,StrictNovember = 164,MorningSalad = 165,DeepRelief = 166,SeaStrike = 167,NightCall = 168,SupremeSky = 169,LightBlue = 170,MindCrawl = 171,LilyMeadow = 172,SugarLollipop = 173,SweetDessert = 174,MagicRay = 175,TeenParty = 176,FrozenHeat = 177,GagarinView = 178,FabledSunset = 179,PerfectBlue = 180,NumPresets};



QT-常用函数参数详解之painter->fillRect(),预设值的颜色展示相关推荐

  1. oracle11g 常用函数(Functions)详解

    Oracle11g常用函数(Functions)详解 目录 ABS. 3 ACOS. 3 ADD_MONTHS. 4 ASCII 4 ASCIISTR. 5 ASIN.. 5 ATAN.. 5 ATA ...

  2. python中def func是什么意思_Python的函数参数详解

    原标题:Python的函数参数详解 前言 Python中函数的参数可以分为两大类形参和实参~ def func(x, y): # x, y 就是形参 print(x, y) func(2, 3) # ...

  3. PHP date函数参数详解

    PHP date函数参数详解 作者: 字体:[增加 减小] 类型:转载 time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧  不过这样方便计算, 要找 ...

  4. JVM之常用基础参数详解

    JVM之常用基础参数详解 目录 常用基础参数内存Xms,Xmx讲解 常用基础参数栈内存Xss讲解 常用基础参数元空间MetaspaceSize讲解 常用基础参数PrintGCDetails回收前后对比 ...

  5. java调用js匿名函数参数,js匿名函数作为函数参数详解

    由衷的感叹,js真是烦. 学到现在,渐渐理解了什么是:语言都是通用的,没有好不好,只有擅长不擅长. 继承,多态,甚至指针,c能实现,c++,java有,javascript(和java是雷锋和雷峰塔的 ...

  6. matlab melbankm,Matlab v_melbankm函数参数详解(英文附例)

    Matlab v_melbankm函数参数详解(英文附例) 笔者使用的是R2019的matlab,下载了voicebox安装至matlab路径下即可使用.下载voicebox请参看此博客 需要注意的是 ...

  7. ioctl 函数 参数 详解

    2019独角兽企业重金招聘Python工程师标准>>> ioctl 函数 参数 详解 2009-04-24 11:55 ioctl函数 本函数影响由fd参数引用的一个打开的文件. # ...

  8. 定义一个没有参数的函数、输出python3次_Python函数参数详解,三天让你掌握python,不再是小白

    原标题:Python函数参数详解,三天让你掌握python,不再是小白 引言 随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差 ...

  9. Matlab mfcc函数参数详解(英文附例)

    Matlab mfcc函数参数详解 其实可以直接打开源代码看哈. %MFCC Extract the mfcc, log-energy, delta, and delta-delta of audio ...

  10. python传入参数加星号_Python 带星号(* 或 **)的函数参数详解

    1. 带默认值的参数 在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下: >> def defaultValueArgs(common, defaultStr = &qu ...

最新文章

  1. 云网融合 — 云网融合与云网一体化
  2. 字符串扩展_JAVA
  3. 1470. Shuffle the Array
  4. asp.net跨页面传值收集
  5. 微信小程序实现数字为四位一组间隔(仿银行卡卡号)
  6. Flink报错:java.io.IOException: Insufficient number of network buffers
  7. 三网融合催生第三方数据服务产业
  8. 机器学习基础(二十四)—— Random Forest
  9. 阿里云成为云原生计算基金会金牌会员
  10. jquery 时间选择插件-jedate
  11. 3D动画展示--3D图片旋转展示
  12. Android显示gif格式图片
  13. sql中的类型转换---学习
  14. IDEA重置maven配置的问题解决
  15. Web前端--HTML+CSS+JS新型冠状病毒射击小游戏
  16. csp认证考试准备Day-3
  17. PW系列 | 用windres 编译.rc 资源文件
  18. C# 开发ModBus的服务器程序 实现ModBus数据总站 搭建自定义的Modbus服务器 同时支持tcp和rtu...
  19. OpenGL--混合
  20. 微信公众号开发——现金红包、企业付款

热门文章

  1. 小程序性能和体验优化方法
  2. 22湖南大学866数据结构真题(回忆版)
  3. 移动应用的必杀技:超级app+轻应用
  4. PS2023和2022版本保姆级安装教程【博主亲测】
  5. 从零到一,美芽的技术实战
  6. MathType公式编辑器中怎么输入千分号
  7. 计算机如何打开无线网络适配器,如何解决网络适配器无法启动无线网卡的问题...
  8. python和mysql匹配吗_python使用mysql
  9. 人生的第一篇博客φ(>ω<*)
  10. 阿里云GPU服务器租用费用及计费模式说明