问题描述
我正在使用 Qt6.1,我想在绘制时发送我的小部件的像素图。
我有类似的代码:
void MyWidget::paintEvent(QPaintEvent*)
{
// static bool callGrab = true;
// m_callGrab initialize with true
if (m_callGrab)
{
m_callGrab = false;
auto pixmap = grab();
m_callGrab = true;
emit widgetRepainted(pixmap);
QPainter painter(this);
painter.drawpixmap(0,pixmap);
painter.end();
return;
}
QPainter painter(this);
...
painter.end();
}
我知道在 grab()
中调用 paintEvent()
会导致递归,所以我使用一个变量来防止它。
它运行良好,但我在控制台中收到“QWidget::repaint: Recursive repaint detected”。太多了,向上滚动我的调试信息。
我曾尝试在我的 .pro 文件中添加 DEFInes += QT_NO_WARNING_OUTPUT
,但它不起作用。
我想知道是否可以禁用在控制台中打印消息。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)