Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 2000UZS
Размер 294.4KB
Покупки 0
Дата загрузки 07 Ноябрь 2026
Расширение docx
Раздел Рефераты
Предмет Информатика и ИТ

Продавец

Bohodir Jalolov

Ma’lumotlarni chop etishni dasturlash

Купить
Mavzu:  Ma’lumotlarni chop etishni dasturlash.
Reja:
1. QPrintdialog va QPrinter  sinfi haqida ma’lumot.
2. Hisobotlar yaratish jarayonini dasturlash.
  1. QPrintdialog va QPrinter  sinfi haqida ma’lumot.
Ko'pgina   hollarda,   ilovalar   foydalanuvchiga   chop   etish   imkoniyatini   berishi
kerak.   Ushbu   holat   ko'plab   ishlab   chiqaruvchilarni   qo'rqitishi   mumkin   va   buning
sababi bir qator muammolar: printerlarning turli xil imkoniyatlari, displeydagi farq
ekran   va   printer   shriftlari,   printerni   dasturlashdagi   platformaga   xos   farqlar   va
boshqalar.Qt  ko'pgina  vazifalarni  o'z  zimmasiga  oladi,  bu  esa   ishlab  chiquvchilar
uchun juda osonlashadi.
QPrinter sinfi
QPrinter   klassi   bosib   chiqarish   uchun   asosiy   hisoblanadi.   Sinf
QPaintDevice-dan   meros   bo'lib   o'tganligi   sababli,   bosib   chiqarish   ko'rsatishga
o'xshaydi.   QPainter   sinfining   bir   xil   usullaridan   barcha   boshqa   chizilgan
kontekstlardagidek printerga bosib chiqarish uchun foydalanish mumkin.
QPrinter   printer   sinfida   QPaintDevice   sinfidan   meros   qolgan   boshqa   sinflarga
qaraganda ko'proq xususiylashtirishlar mavjud. Siz, masalan, varaq hajmini, nusxa
sonini   va   boshqalarni   belgilashingiz   mumkin.   Qt   foydalanuvchi   kerakli
sozlamalarni o'rnatadigan bosma dialogni taqdim etadi. Ushbu oyna QPrintDialog
sinfida amalga oshiriladi
Ushbu sozlamalar dasturiy jihatdan ham amalga oshirilishi mumkin:
The   setOrientation   ()   usulidan   foydalanib,   sahifaning   yo'nalishini   QPrinter   ::
Portret bayrog'ini gorizontal yoki QPrinter :: Landshaftni vertikal joylashuvi uchun
o'tkazib o'rnatishingiz mumkin;
Set setNumCopies () usuli bosib chiqariladigan nusxalar sonini belgilaydi;
Set   setFromTo   ()   usuli   yordamida   siz   bosib   chiqarish   uchun   sahifalar   oralig'ini
o'rnatishingiz mumkin;
Set   setColorMode   ()   usuli   rangli   va   qora   va   oq   rangli   bosib   chiqarish   rejimlarini
boshqaradi.   Rangli   rejim   uchun   siz   QPrinter   ::   Color   bayrog'ini   usulga
o'tkazishingiz kerak, va oq-qora uchun - QPrinter :: Grayscale;
The   varaqning   kattaligi   setPageSize   ()   usulini   chaqirish   orqali   o'zgartiriladi.
Jadvalda keltirilgan qiymatlardan biri usulga o'tkazilishi kerak.
Jadval. QPrinter sinfining PageSize qiymatlari Printerga   chop   etish   o'rniga,   chiqishni   faylga   yo'naltirishingiz   mumkin.
Buning   uchun   to'liq   malakali   fayl   nomini   setOutputFileName   ()   uslubiga
o'tkazishingiz   kerak.   Agar   siz   bo'sh   satrni   usulga   o'tkazsangiz,   chiqishni   faylga
qayta   yo'naltirish   e'tiborga   olinmaydi   va   chiqarilgan   narsa   bosib   chiqarish
moslamasiga   yuboriladi.   Chop   etiladigan   faylning   nomi   setDocName   ()   usuli
yordamida   o'rnatilishi   mumkin;bu   chop   etish   yo'naltirilgan   faylning   nomi   emas,
balki bosib chiqarish ishining nomi ekanligini unutmang.
Printer buyruqlarini o'z ichiga olgan faylga bosib chiqarishni qayta yo'naltirishdan
tashqari, siz PDF (Portable Document Format) fayllarini yaratishingiz mumkin va
bu   bosib   chiqarish   kabi   oddiy:   QPrinter   qiymatini   setOutputFormat   ()   usuliga
o'tkazishingiz kerak:: PdfFormat.
QPrinter   sinfida   xujjat   xujjatiga   shriftlarni   kiritish   uchun
setFontEmdeddingEnabled   ()   usuli   mavjud,   natijada   olingan   fayl   barcha   kerakli
shriftlarni   o'z   ichiga   oladi.   Agar   ular   yaratilgan   platformadan   boshqa   fayllardan
foydalanmoqchi bo'lsangiz, bu foydali bo'ladi.
Bosib   chiqarish   operatsiyasini   bekor   qilish   uchun   bekor   qilish   natijasini
ko'rsatadigan mantiqiy qiymatni qaytaradigan abort () usulini chaqiring.
Qt printer sozlamalari dialog oynasi
Ushbu   oyna   sizga   printerni   tanlash,   uning   sozlamalarini   o'zgartirish   va   bosib
chiqarish   uchun   sahifalar   oralig'ini   sozlash   imkonini   beradi.   Printer   sozlamalari
dialog oynasi QPrintDialog sinfida amalga oshiriladi, ammo uni QPrinter sinfining printer   ob'ektidan   alohida   chaqirish   mantiqiy   emas,   chunki   asosiy   vazifa   bu
ob'ektni bosib chiqarish uchun sozlashdir. Masalan; misol uchun:
QPrinter printer; 
QPrintDialog* pPrintDialog = new QPrintDialog(sprinter); 
if (pPrintDialog->exec() — QDialog::Accepted) { 
     // Печать 
} 
delete pPrintDialog;
Bosib chiqarish moslamasiga chiqish
Qt-dagi   bosma   qurilmaga   bosib   chiqarish   QWidget,   QPixmap   yoki   QImage-dan
rasmga o'xshaydi. Jarayon quyidagicha bo'ladi:
1. QPrinter ob'ektini bo'yoq moslamasi sifatida yarating.
2.   QPrintDialog   bosib   chiqarish   dialog   oynasini   ko'rsating,   bu   foydalanuvchiga
bosib chiqarish moslamasini  tanlashga va bosib chiqarishning ba'zi parametrlarini
o'rnatishga imkon beradi.
3. QPrinter bilan ishlash uchun QPainter ob'ektini yarating.
4. QPainter yordamida sahifani chizish.
5. Keyingi sahifaga o'tish uchun QPrinter :: newPage () funktsiyasini chaqiring.
6. Barcha sahifalar chop etilgunga qadar 4 va 5-bosqichlarni takrorlang.
Windows   va   Mac   OS   X   operatsion   tizimlarida   QPrinter   tizim   printerlari
drayverlaridan   foydalanadi.   Unix-da   u   PostScript   faylini   yaratadi   va   uni   lp   yoki
lpr-ga (yoki QPrinter :: setPrintProgram () tomonidan o'rnatilgan boshqa dasturga) uzatadi.   QPrinter   setOutputFormat   (QPrinter   ::   PdfFormat)   ni   chaqirish   orqali
PDF-fayllarni yaratish uchun ham ishlatilishi mumkin.
Bir sahifali oddiy bosib chiqarish misolini ko'rib chiqamiz. Birinchi misol QImage
ob'ektini chiqaradi:
2. Hisobotlar yaratish jarayonini dasturlash.
Bosib chiqarish moslamasiga chiqish Qt-dagi bosma qurilmaga bosib chiqarish
QWidget,   QPixmap   yoki   QImage-dan   rasmga   o'xshaydi.   Jarayon   quyidagicha
bo'ladi:
1. QPrinter ob'ektini bo'yoq moslamasi sifatida yarating.
2.   QPrintDialog   bosib   chiqarish   dialog   oynasini   ko'rsating,   bu   foydalanuvchiga
bosib chiqarish moslamasini  tanlashga va bosib chiqarishning ba'zi parametrlarini
o'rnatishga imkon beradi.
3. QPrinter bilan ishlash uchun QPainter ob'ektini yarating.
4. QPainter yordamida sahifani chizish.
5. Keyingi sahifaga o'tish uchun QPrinter :: newPage () funktsiyasini chaqiring.
6. Barcha sahifalar chop etilgunga qadar 4 va 5-bosqichlarni takrorlang.
Windows   va   Mac   OS   X   operatsion   tizimlarida   QPrinter   tizim   printerlari
drayverlaridan   foydalanadi.   Unix-da   u   PostScript   faylini   yaratadi   va   uni   lp   yoki
lpr-ga (yoki QPrinter :: setPrintProgram () tomonidan o'rnatilgan boshqa dasturga)
uzatadi.   QPrinter   setOutputFormat   (QPrinter   ::   PdfFormat)   ni   chaqirish   orqali
PDF-fayllarni yaratish uchun ham ishlatilishi mumkin.
Bir sahifali oddiy bosib chiqarish misolini ko'rib chiqamiz. Birinchi misol QImage
ob'ektini chiqaradi:
void PrintWindow::printImage(const Qlmage &image)
{
QPrintDialog printDialog(&printer, this);
if (printDialog.exec()) {
QPainter painter(&printer);
QRect rect = painter.viewport();
QSize size = image.size(); size.scale(rect.size(), Qt::KeepAspectRatio);
painter.setViewport(rect.x(). rect.y(), size.width(), size.height());
painter.setWindow (image.rect());
painter.drawImage(0, 0, image);
}
}
#include <QtGui>
#include "Printer.h"
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QWidget wgt;
Printer* pprinter = new Printer;
QPushButton* pcmd = new QPushButton("&Print");
QObject::connect(pcmd, SIGNAL(clicked()),
pprinter, SLOT(slotPrint())
);
//Layout setup
QVBoxLayout* pvbxLayout = new QVBoxLayout;
pvbxLayout->setMargin(0);
pvbxLayout->setSpacing(0);
pvbxLayout->addWidget(pprinter);
pvbxLayout->addWidget(pcmd);
wgt.setLayout(pvbxLayout);
wgt.resize(250, 320);
wgt.show();
return app.exec();
} Listingdagi   dastur   printer   vidjetlarini   (Listing   5-6   da   tasvirlangan   Printer   sinf
ob'ektiga   pprinter   ko'rsatgichi)   va   tugmachalarni   (pcmd   ko'rsatkichi)   yaratadi.
Tugma   vidjetining   bosilgan   ()   signali   printer   vidjetining   slotPrint   ()   uyasiga
ulangan.
#ifndef _Printer_h_
#define _Printer_h_
#include <QWidget>
class QPrinter;
class QPaintDevice;
class Printer : public QWidget {
Q_OBJECT
private:
QPrinter* m_pprinter;
protected:
virtual void paintEvent(QPaintEvent* pe );
void draw (QPaintDevice* ppd);
public:
Printer(QWidget* pwgt = 0);
virtual ~Printer();
public slots:
void slotPrint();
};
#endif //_Printer_h_
Ro'yxatda   ko'rsatilgan   Printer   sinfining   ta'rifi   QPrinter   printer   ob'ektiga
ko'rsatgichni o'z ichiga oladi. Draw () usuli chizilgan kontekstiga ko'rsatgich oladi.
Sinf   printer   ob'ekti   uchun   dinamik   ravishda   ajratilgan   xotirani   bo'shatadigan
destruktorni   belgilaydi.   SlotPrint()   uyasi   bosma   qurilmaga   chiqishni   amalga
oshirish uchun chaqiriladi.            Foydalanilgan ea dabiyotlar ro’yxati
1. Sh.A.Nazirov, R.V.Qobulov, M.R.Babajanov «C va C++ TILI»
2. Informatika fanidan o’quv qo’llanma //TATU 489 b. Toshkent, 2012.
3. C / C ++.   Программирование   на   языке   высокого   уровня   /   Т.   А.
Павловская. — СПб.:Питер, 2003. —461 с: ил.
4. Программирование на языке С++ в среде  Qt   Creator :
5. / Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк,О. В. Чеснокова,
6. А. С. Чмыхало — М. :  ALT   Linux , 2015. — 448 с.
7. Жасмин   Бланшет,   Марк   Саммерфилд   Qt   4:Программирование   GUI   на
C ++
8. М.Шлее,  Qt  5.10. Профессионаdное программирование на С++. - СПб.:
БХВ-Петербург, 2018. - 1072 с.

Ma’lumotlarni chop etishni dasturlash

Купить
  • Похожие документы

  • 3d-max dasturida obektlarni yaratish
  • Algoritm va ma’lumotlar strukturasi
  • 3D-MAX dasturi haqida
  • 3D Studio MAX dasturiga kirish. 3D Studio MAX dasturi haqida tushuncha
  • Adobe photoshop dasturida tasvirlarda ishlov berish,taqdimot yaratish

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha