2012-02-07 37 views
4

私はアプリケーション内で自分のアプリケーションのスクリーンショットをキャプチャしようとしています。そのQtベースのアプリケーションです。誰がこれを行う方法を知っていますか?どんな提案も大歓迎です。 http://developer.qt.nokia.com/doc/qt-4.8/qwidget.html#renderアプリケーション内部からのQtアプリケーションのスクリーンショット

それは、この目的のために明示的にウィジェットをレンダリングする代わりに取り込むとして技術的に、これはスクリーンショットではありません:あなたはオフスクリーン自体をレンダリングするために(あなたのQMainWindow含む)QWidgetを伝えることができ

CV

+0

深く進む必要があります。 –

+0

@Kamil Klimek:QCeption – Exa

+0

"アプリケーション内の私のアプリケーションのスクリーンショットをキャプチャする" - 抵抗できませんでした! –

答えて

3

画面に表示されるもの。ほぼすべての目的のために重要ではありません。

GLウィジェットをお持ちの場合、代わりにgrabFramebuffer()を使用する必要があります。これは、画面に表示されているものをキャプチャする利点があります。

1

すべてのあなたのウィジェット画面を得ることができます。 好きなように、このメソッドを任意のキーを押すか、または信号に添付して、連続するスクリーンショットを取得することができます。

MyClass::screenshot() 
{ 
    QWidget *w = QApplication::activeWindow(); 
    if(w) { 
     static int count = 0; 
     QPixmap p = QPixmap::grabWidget(w); 
     p.save(QString("/your/path/screenshot%1.png").arg(count)); 
     count++; 
    } 
} 
関連する問題