【问题标题】:Qt warning: passing qreal for converting QRect::QRect(int, int, int, int)Qt 警告:传递 qreal 以转换 QRect::QRect(int, int, int, int)
【发布时间】:2016-06-02 07:02:15
【问题描述】:

我收到以下代码警告:

QRect rct ( 0, 0, rect().width(), rect().height() );

warning: passing `qreal' for converting 3 of `QRect::QRect(int, int, int, int)'
warning: passing `qreal' for converting 4 of `QRect::QRect(int, int, int, int)'

我用谷歌搜索了它,但没有找到太多。如何避免这个警告?

感谢您的宝贵时间。

【问题讨论】:

  • 为什么需要这条线? rect()QWidget 应该有 xy 零。或者rect()是什么?
  • @LogicStuff,感谢您的回复,它在QGradient g = QConicalGradient ( QPoint ( rct.center() ), -angle );painter->drawEllipse ( rct ); 中进一步用于绘制渐变。
  • QPoint(rct.center()) 是另一种多余的(可能的)临时复制构造。

标签: c++ linux user-interface qt4


【解决方案1】:

rect() 似乎返回了 QRectF,而您想将其转换为 QRect。你有两个选择:

【讨论】:

  • 不知道为什么要用rect().width()rect().height(),换成integer constant解决了问题。无论如何,感谢您的宝贵时间。
猜你喜欢
  • 2020-01-04
  • 1970-01-01
  • 2016-06-10
  • 2023-03-03
  • 1970-01-01
  • 2019-01-01
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
相关资源
最近更新 更多