1

これは非常に簡単な質問なので、かなり簡単に説明します。Qt で、テキスト エディター内のすべてを出力するスロットを作成するにはどうすればよいですか。印刷ボタンの動作を期待どおりに動作する単なる印刷ボタンです。QPrintDialog について読んでいますが、動作させることができません。これは私が試したものです:

QPrintDialog printDialog(printer, this);
if(printDialog.exec() == QDialog::Accepted){
    ui->textBox->print(printer);
}

その前に QPrinter *printer = new QPrinter を実行しようとしましたが、それによってあらゆる種類のエラーが発生しました。私はすでに #include QPrintDialog を持っていますが、実際にこれを機能させるにはどうすればよいですか? どんな助けやアドバイスも大歓迎です。

編集:質問に対する回答を探していましたが、それが理にかなっている場合、動作に近いと思われるコードを見つけました。

QPrinter プリンター。

QPrintDialog *printDialog = new QPrintDialog(&printer, this);
printDialog->setWindowTitle("Print Document");
if (printDialog->exec() != QDialog::Accepted)
         return;

ただし、次のようなエラーが表示されるようになりました。

C:\Documents and Settings\Me\My Documents\C++ Projects\Qt Gui Applications\WordWrite-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug\..\WordWrite\wordwritemain.cpp:130: error: aggregate 'QPrinter printer' has incomplete type and cannot be defined
4

1 に答える 1

1

NokiaのWebサイトのヘルプ部分にある質問の答えを解決しました。私が使用したコードは次のとおりです。

QPrinter printer;
QPrintDialog *printDialog = new QPrintDialog(&printer, this);
printDialog->setWindowTitle("Print Document");
if (printDialog->exec() != QDialog::Accepted){
    ui->textBox->print(&printer);
}

これは基本的に私が以前やっていたことですが、次の点を除きます。

  • プリンターの代わりに&printerを追加しました

- I added #include <QPrinter>

とにかく助けてくれてありがとう、そしてこれが将来のテキストエディタ開発者に役立つことを願っています。

于 2012-09-01T01:27:41.877 に答える