Ma’lumotlar buferi bilan ishlash. Tezkor panellar. 5-Ma’ruza Ma’lumotlar buferi Bufer bu xotiraning bir turi bo’lib,u turli xil dasturlar o'rtasida ham, ularda ochilgan oynalar (yoki bitta oynaning turli sohalari) o'rtasida ma'lumot almashish imkoniyatini beradi. Bu ma'lumotlarni bir joydan boshqasiga nusxalashning eng mashhur usullaridan biridir. Bu tizimda ishlaydigan barcha ilovalar kirish imkoniyatiga ega bo'lgan xotira sohasi. Ularning har biri buferdan ma'lumot yozishi yoki o'qishi mumkin. Bufer bilan ishlaydigan dasturlar standart buyruqlarni ta'minlashi kerak: ko’chirish, nusxalash va joylashtirish va bu buyruqlar foydalanuvchi ishini tezlashtiradigan ba'zi tezkor tugmalar birikmasi bilan ta'minlanishi kerak: + , + va + mos ravishda. Qt da Ma’lumotlar buferi Qt da ma’lumotlar buferi bilan ishlash uchun Qclipboard sinfi ishlatiladi. Ushbu sinf ob'ektini o'zingiz yaratishga urinmasligingiz kerak, chunki u dastur ishga tushganda avtomatik ravishda faqat bir nusxada yaratiladi. Masalan; misol uchun: QClipboard sinfi har safar dasturlardan biri buferga yangi ma'lumotlarni joylashtirganda dataChanged() signalini yuboradi. Qt da Ma’lumotlar buferiga malumot quyish Ma'lumotlarni buferga setText(), setPixmap(), setimage() yoki setMimeData() usullari yordamida joylashtirish mumkin. Masalan: QClipboard* pcb = QApplication::clipboard(); pcb->setText ("Му Text"); Qt da Ma’lumotlar buferidan malumot olish Buferdan ma'lumotlarni qabul qilish text(), image(), pixmap() va mimeData() usullari yordamida amalga oshiriladi. Masalan: QClipboard* pcb = QApplication::clipboard(); QString str = pcb->text(); if ( !str. isNull () ) { qDebug() << "Clipboard Text: " << str; } Qt da Menyular yaratish-Bosh menyu Qt da Menyular yaratish-Bosh menyu Qt da Menyular yaratish-kontekst menyu Qt da Menyular yaratish-kontekst menyu ui->listWidget-> setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->listWidget, SIGNAL(customContextMenuRequested(const QPoint&)),this, SLOT(ShowContextMenu(const QPoint&))); void MainWindow::ShowContextMenu(const QPoint& pos) { QPoint globalPos = ui->listWidget->mapToGlobal(pos); QMenu myMenu; myMenu.addAction("Пункт 1", this, SLOT(on_action_1())); myMenu.addAction("Пункт 2", this, SLOT(on_action_2())); myMenu.exec(globalPos); } Qt da Menyular yaratish-kontekst menyu void MainWindow::on_action_1() { QMessageBox::warning(this, "", QString::fromUtf8(“Punkt1")); } void MainWindow::on_action_2() { qDebug()<<"Punkt2"; } Qt da Menyular yaratish-pastki tezkor menyu
QSystemTrayIcon sinfi
setIcon()-rasmni o’rnatish;
show()-pastki masalalar panelida ko’rsatish
showMessage()-xabar ko’rsatish
|
Qt da Menyular yaratish-pastki tezkor menyu
QSystemTrayIcon sinfi
setToolTip ()-sichqoncha ko’rsatgichi yonida xabar chiqarish;
setContextMenu()-kontekstmenyuni ochish
|
Qt da ekran widjeti
QDesktopWidget sinfi
QApplication: :desktop()->width()-ekran kengligi;
QApplication::desktop()->height()-ekran balandligi
|
Qt da ekran widjeti
QDesktopWidget sinfi
screenCount() – monitorlar soni; primaryScreen() – asosiy monitor nomeri;
int nScreen = desktopWidget-> screenNumЬer(QPoint(320, 115));
|
Qt da ekran widjeti
vazifa - Ko’p satrli matn maydoni uchun Ko’chirish, Qirqib olish va Joylashtirish buyruqlari uchun asosiy va kontekstli menyu yarating;
- Oyna rangini o’zgartirish imkonini beruvchi kontekstli menyu yarating;
Do'stlaringiz bilan baham: |