Russian Qt Forum

Qt => Печать => Тема начата: cya-st от Май 18, 2010, 13:10



Название: QPrintPreviewWidget
Отправлено: cya-st от Май 18, 2010, 13:10
Всем привет.
Есть у кого-то какой нибудь пример работы с QPrintPreviewWidget?


Название: Re: QPrintPreviewWidget
Отправлено: BaltikS от Май 19, 2010, 12:10
Пардон, а в чём возникла сложность?


Название: Re: QPrintPreviewWidget
Отправлено: cya-st от Май 19, 2010, 18:23
Пардон, а в чём возникла сложность?
Я вообще не знаю как с этим класом работать, его надо встраивать в другой виджет или отдельно вызывать? Если отдельно вызываю, то нет панели инструментов в окне.


Название: Re: QPrintPreviewWidget
Отправлено: BaltikS от Май 19, 2010, 18:38
Есть QPrintPreviewDialog - готовое окно с кнопками.
Класс QPrintPreviewWidget класс отрисовки соответственно предварительного просмотра перед печатью... Размещается, как правило, на другие виджеты...но сами действия, касающиеся масштаба, положения и т.п.,  разработчик  берёт на себя, соединяя свои экшены со слотоами QPrintPreviewWidget (или вызывая методы данного класса).
Я использовал данный класс для создания более продвинутого предварительного просмотра чем QPrintPreviewDialog... Вот такой мой опыт :). Полагаю, что в QPrintPreviewDialog используется он же + несколько кнопок....


Название: Re: QPrintPreviewWidget
Отправлено: cya-st от Май 19, 2010, 20:58
Есть QPrintPreviewDialog - готовое окно с кнопками.
Класс QPrintPreviewWidget класс отрисовки соответственно предварительного просмотра перед печатью... Размещается, как правило, на другие виджеты...но сами действия, касающиеся масштаба, положения и т.п.,  разработчик  берёт на себя, соединяя свои экшены со слотоами QPrintPreviewWidget (или вызывая методы данного класса).
Я использовал данный класс для создания более продвинутого предварительного просмотра чем QPrintPreviewDialog... Вот такой мой опыт :). Полагаю, что в QPrintPreviewDialog используется он же + несколько кнопок....
Можеш пример кинуть? А на счет QPrintPreviewDialog, я не могу в нем поменять масштаб, поэтому и хочу использовать QPrintPreviewWidget.


Название: Re: QPrintPreviewWidget
Отправлено: BaltikS от Май 23, 2010, 11:07
Примерно так...... Есть QMainWindow на нём QPrintPreviewWidget и тулбары....оставил только интересующее вас изменение масштаба....

Код
C++ (Qt)
pw = new QPrintPreviewWidget(printer, this);
setCentralWidget(pw);
connect(pw, SIGNAL(paintRequested(QPrinter *)), SLOT(on_paintRequested(QPrinter *)));
 
QLabel *l = new QLabel(ui.t_view);
l->setText(tr("Масштаб: "));
ui.t_view->addWidget(l);
 
cb = new QComboBox(ui.t_view);
cb->addItems(QStringList()<<QString("10 %")<<QString("25 %")<<QString("50 %")<<QString("75 %")
<<QString("100 %")<<QString("125 %")<<QString("150 %")<<QString("200 %")
<<QString("250 %")<<QString("500 %"));
cb->setView(new QListView(cb));
cb->setEditable(TRUE);
cb->lineEdit()->setValidator(new QIntValidator(cb));
ui.t_view->addWidget(cb);
connect(cb, SIGNAL(activated( const QString &)), SLOT(on_activated( const QString &)));
 
...
 
void BPrintPreview::on_activated( const QString & text )
{
if (text.right(1) == QString("%")) pw->setZoomFactor(text.left(text.length()-2).toInt()/100.);
else pw->setZoomFactor(text.toInt()/100.);
}
 


Название: Re: QPrintPreviewWidget
Отправлено: cya-st от Май 23, 2010, 11:20
Большое спасибо. Посмотрю.