Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想将现有的小部件 A 绘制到另一个小部件 B 上,(使 A 作为 B 的子级可能有效,但这是另一个故事)
在网上搜索后,在 qtcenter 有一个线程说:
QPixmap w1Pix = QPixmap::grabWidget(w1); // can work
还有其他方法吗?
一种(不知道其他)替代方法是使用QWidget'srender方法,它允许您指定要渲染到的 aQPaintDevice或 a QPainter、要渲染到该画家的位置、要绘制小部件的哪个区域以及渲染标志。特别是,这些标志让您可以指定是否要绘制孩子。
QWidget
render
QPaintDevice
QPainter
这比 灵活一点grabWidget,但是请阅读文档,调用这些函数时,设备或目标的画家必须处于特定状态。
grabWidget