ChEnGeRd 2023-05-08 12:09 采纳率: 50%
浏览 9

Windows上的qt中painter的问题

Windows上的qt中painter的setBrush不知道为什么把我的setPen给覆盖了

QPinater p;
p.setPen(Qt::black);
p.setBrush(Qt::red);

结果出来的是无填充红色
请问是怎么回事?Linux上还正常的

  • 写回答

1条回答 默认 最新

  • 泡沫o0 2023年度博客之星上海赛道TOP 1 2023-05-08 12:58
    关注

    在Windows上使用Qt的QPainter时,如果发现setBrush()似乎覆盖了setPen()的设置,可能的原因是绘图操作的顺序或者图形绘制函数的使用方式。

    首先,请确保在使用QPainter进行绘图时,调用begin()end()方法正确地启动和结束QPainter。

    QPainter p(this);
    p.begin();
    p.setPen(Qt::black);
    p.setBrush(Qt::red);
    // 绘制操作
    p.end();
    

    另外,请确保在调用setPen()setBrush()之后使用适当的绘图函数。例如,如果您要绘制一个矩形,应该使用drawRect()函数:

    p.drawRect(x, y, width, height);
    

    如果使用其他函数,如fillRect(),则只会应用QBrush设置,而不会应用QPen设置。

    如果问题仍然存在,请尝试在调用setBrush()之前重新设置setPen(),看看是否解决了问题。

    如果以上建议仍无法解决问题,请提供更多关于您的代码的详细信息,以便我们能够为您提供更有针对性的建议。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月8日

悬赏问题

  • ¥15 想要写一个跟百度网盘一样文件管理器,打开全部文件夹后 ,一级一级返回
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥30 关于R语言运行分区生存模型中的问题!
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码