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に描画したい(Bの子としてAを作成することもできますが、ここでは別の話です)
インターネットを検索した後、qtcenterに次のようなスレッドが1つあります。
QPixmap w1Pix = QPixmap::grabWidget(w1); // can work
それを行う他の方法はありますか?
(他の人は知らない)代替案の1つは、QWidgetのrenderメソッドを使用することです。これにより、レンダリング先、レンダリング先のペインター、ウィジェットのどの領域をペイントするか、およびレンダリングQPaintDeviceするaまたはaを指定できます。フラグ。フラグを使用すると、特に子を描画するかどうかを指定できます。QPainter
QWidget
render
QPaintDevice
QPainter
これはよりも少し柔軟性grabWidgetがありますが、ドキュメントを読んでください。これらの関数を呼び出すときは、デバイスまたはターゲットのペインタが特定の状態になっている必要があります。
grabWidget