QPrinterDialog don't give the good paper size
-
hello everybody,
I have a big problem ;)!!Yan can maybe help me.
I have two printer
-BROTHER 21cm29.7cm
-Dymo(sticker printer) :3,2cm5,7cmwhen i call QPrintDialog and select the printer I want.The printer nam of the current printer changed but not the pageRect ,pageSize...and continue to give me the size of default printer.
Exemple
@void MainWindow::openprinterconfig()
{QPrintDialog *dialog = new QPrintDialog(myprinter); dialog->exec() ; qDebug("%f", myprinter->paperRect(QPrinter::Millimeter).height()); qDebug("%f", myprinter->paperRect(QPrinter::Millimeter).width()); qDebug(myprinter->printerName().toLocal8Bit());}@
case 1:Dymo is default printer and i try to select BROTHER printer
31.750000
57.150000
Brother HL-2140case 2:BROTHER is default printer and i try to select Dymo printer
297.000000
210.000000
DYMO LabelWriter 450If i try to print the selected printer in Qdialog work but I have to get the papersize in my application.
Couold you help me Please?
-
Hi and welcome to devnet,
Pretty strange indeed. What version of Qt/OS are you running ? What compiler are you using ?
-
Unfortunately the problem continue,
with this code
QPrintDialog *dialog = new QPrintDialog(this);
@ if(dialog->exec() ==QDialog::Accepted){ QPrinter* printer3 = dialog->printer() ; qDebug(dialog->printer()->printerName().toLocal8Bit()); printer3->setFullPage(true); qDebug("%f", printer3->pageRect(QPrinter::Millimeter).height()); qDebug("%f", printer3->pageRect(QPrinter::Millimeter).width()); }@QT return:
if the BROTHER is the default printer:
DYMO LabelWriter 450
297.000000
210.000000if the DYMO is the default printer:
DYMO LabelWriter 450
31.750000
57.150000