如何在QT中的另一个小部件中绘制小部件的内容?

时间:2012-05-29 07:28:12

标签: qt qpainter

我想将现有的小部件A绘制到另一个小部件B上,(将A作为B的孩子可以工作,但这里是另一个故事)

搜索互联网后,在qtcenter中有一个thread表示:

 QPixmap w1Pix = QPixmap::grabWidget(w1); // can work

还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

其中一个(不了解其他人)替代方法是使用QWidget的{​​{3}}方法,您可以指定要呈现的QPaintDeviceQPainter进入,想要渲染的画家,要绘制小部件的哪个区域,以及render。这些标志可让您指定是否要绘制或不绘制子项。

这比grabWidget更灵活,但是当您调用这些函数时,请阅读文档,设备或目标画家必须处于特定状态。