QT Paintevent没有绘制所需的图像,而是绘制了黑屏。使用SLOT(update)在每2秒的时间间隔中调用一次paintevent。
我尝试过触发PaintImage方法,该方法已实现以绘制提供的QImage,但也没有起作用。
void Client::paintEvent(QPaintEvent *event)
{
//qWarning() << image.isNull() << image.width()<< image.height();
QPainter painter(&image);
painter.end();
QPixmap pixMap;//(image);
//painter.drawImage(1280, 639, image);
bool b = pixMap.convertFromImage(image);
QLabel w;
w.setPixmap(pixMap);
w.show();
}
预期显示的实际图像,但最终显示为空白屏幕。
答案 0 :(得分:1)
将QLabel添加为类(客户端)的成员...让其命名为m_my_label。 然后在paintEvent中只说m_my_label.setPixmap(pixMap)和m_my_label.show()。
问题在于QLabel是局部变量,当您退出paintEvent函数时将不再存在。