Latest posts on Печать на принтере topichttps://python.su/forum/topic/38516/2020-03-07T16:30:38+02:00Общий :: GUI :: Печать на принтере
2020-03-07T16:30:38+02:00PEHDOM208031<blockquote><em>Ser5+</em><br/>хотя скорее всего этот сигнал .paintRequested.connect(self.QTextEdit_instance.print_) надо поместить в условие Qt.QDialog.Accepted: чтобы не печаталось сразу.</blockquote>нет не надо, если все правильно сделать, то оно должно вывести окно с превью, и в этом окне отрисовать то что вы painter “нарисуете”. Если у вас оно сраз на перчать шл, знач гдето чтто не так.
Общий :: GUI :: Печать на принтере
2020-03-07T15:08:33+02:00Ser5+208026<strong>PEHDOM</strong> Понял. Испробую,как нибудь,пробовал через painter,но почему то он сразу начинает печатать,не спрашивая,поэтому избавился от paintera хотя скорее всего этот сигнал .paintRequested.connect(self.QTextEdit_instance.print_) надо поместить в условие Qt.QDialog.Accepted: чтобы не печаталось сразу.<br/>
Общий :: GUI :: Печать на принтере
2020-03-04T21:19:39+02:00PEHDOM207910<blockquote><em>Ser5+</em><br/>Вопрос такой, как вывести текст в предварительный просмотр, а то там просто пустое окно с кнопками и даже без чистого белого листа?</blockquote> ну дык нужно читать документацию<br/><a href="https://doc.qt.io/qt-5/qprintpreviewdialog.html">https://doc.qt.io/qt-5/qprintpreviewdialog.html</a><br/><blockquote>1. Create the QPrintPreviewDialog<br/>2. Connect the paintRequested() signal to a slot.<br/></blockquote>тоесть после <br/>pd = Qt.QPrintPreviewDialog(printer,self)<br/>pd.setWindowTitle(“Печать”)<br/>нужно еще <br/>pd.paintRequested.connect(self.print_preview_render)<br/>если бы вы печетели из QTextEdit-ра то достаточно было бы сделать вот так<br/>pd.paintRequested.connect(self.QTextEdit_instance.print_), а QTextDocument нужно ручками рендерить например через qpainter или QChart<br/>примерно так <a href="https://stackoverflow.com/questions/8193920/how-to-use-qprinter-and-qprintpreviewdialog">https://stackoverflow.com/questions/8193920/how-to-use-qprinter-and-qprintpreviewdialog</a><br/><br/>
Общий :: GUI :: Печать на принтере
2020-03-03T22:20:36+02:00Ser5+207885Добрый день. Есть вопрос про предварительный просмотр перед печатью. Вопрос такой, как вывести текст в предварительный просмотр, а то там просто пустое окно с кнопками и даже без чистого белого листа?<br/><br/>Использую вот такую конструкцию<br/><div class="code"><pre> <span class="n">txt</span> <span class="o">=</span> <span class="s2">"<b>бла бла бла</b>"</span>
<span class="n">printer</span> <span class="o">=</span> <span class="n">Qt</span><span class="o">.</span><span class="n">QPrinter</span><span class="p">()</span>
<span class="n">document</span> <span class="o">=</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QTextDocument</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="n">document</span><span class="o">.</span><span class="n">setHtml</span><span class="p">(</span><span class="n">txt</span><span class="p">)</span>
<span class="n">pd</span> <span class="o">=</span> <span class="n">Qt</span><span class="o">.</span><span class="n">QPrintPreviewDialog</span><span class="p">(</span><span class="n">printer</span><span class="p">,</span><span class="bp">self</span><span class="p">)</span>
<span class="n">pd</span><span class="o">.</span><span class="n">setWindowTitle</span><span class="p">(</span><span class="s2">"Печать"</span><span class="p">)</span>
<span class="k">if</span> <span class="n">pd</span><span class="o">.</span><span class="k">exec</span><span class="p">()</span><span class="o">==</span> <span class="n">Qt</span><span class="o">.</span><span class="n">QDialog</span><span class="o">.</span><span class="n">Accepted</span><span class="p">:</span>
<span class="n">document</span><span class="o">.</span><span class="k">print</span><span class="p">(</span><span class="n">printer</span><span class="p">)</span>
</pre></div>