• 4835阅读
  • 4回复

[提问]请教一个字体平滑颜色渐变的问题,QT怎么实现? [复制链接]

上一主题 下一主题
离线笑颜
 

只看楼主 倒序阅读 楼主  发表于: 2017-05-04
QT有些控件的文字显示会有类似如图下的效果:(比如菜单里面的文字)


有些控件的却没有这样的效果,如图:(比如按钮控件里面的文字)

现在我用QPainter想通过drawText画出第一幅图那样有颜色平滑渐变的效果,请问怎么实现? 还是说QT并没提过这样的接口可以设置?我试了很多QPen、QFont的设置,都没有用。有知道的,请帮忙指点指点,谢谢。
离线大漠之鹰

只看该作者 1楼 发表于: 2017-05-04
试试设置QBrush为LinearGradient,看看行不
本是后山人,偶作前堂客,醉舞经阁半卷书,坐井说天阔。大志戏功名,海斗量福祸,论到囊中羞涩时,怒指乾坤错
QQ:874164244
离线liudianwu

只看该作者 2楼 发表于: 2017-05-05
QPainter painter(this);
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线笑颜

只看该作者 3楼 发表于: 2017-05-05
回 大漠之鹰 的帖子
大漠之鹰:试试设置QBrush为LinearGradient,看看行不 (2017-05-04 17:44) 

我试过,这个没效果,初步只发现fillpath,storkpath这两个函数绘制出来的文字会有点渐变,但是效果不好
离线笑颜

只看该作者 4楼 发表于: 2017-05-05
回 liudianwu 的帖子
liudianwu:QPainter painter(this);
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing); (2017-05-05 07:27) 

我试了试,还是不行,没有效果,设置了依然是和第二张图一样的。
快速回复
限100 字节
 
上一个 下一个