我发现了Qt,却陷入了一个非常简单的问题:我尝试在小部件上绘制图像。
我画一些派或矩形没有问题,但是我什么都看不到。
这是may代码的一部分:
void GraphicWidget::paintEvent(QPaintEvent * /* event */)
{
QPainter painter(this);
painter.setPen(Qt::red);
painter.setBrush(Qt::blue);
painter.translate(0, rect().height());
QPixmap pixmap;
if ( pixmap.load("Lena.png") )
{
std::cout << "succes" << std::endl;
painter.drawPixmap( QPoint(100,100), pixmap );
}
else
std::cout << "fail" << std::endl;
painter.drawPie(QRect(-35, -35, 70, 70), 0, 90 * 16);//works
painter.drawRect(QRect(30, -5, 20, 10)); //works
}
最佳答案
您已经翻译了QPainter的协调系统。因此,您的x
应该在[0,width]间隔内,而y
应该在[-height,0]间隔内。 QPoint(100,100)
超出了小部件的边界。
关于c++ - 使用Qt在小部件上绘制图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16927019/