Ma’lumotlarni jadvallar ko’rinishida tasvirlash.
Mavzu: Ma’lumotlarni jadvallar ko’rinishida tasvirlash. Reja: 1.Qt dasturlash muhitida jadvallar yaratish usullari va ular bilan ishlash imkoniyatlari.Vektor va massivlarni dasturlash. 2. TableWidjet sinfi haqida ma’lumot.
QTableWidget klassi jadvaldir . Uyali ob'ekt QTableWidgetItem sinfida amalga oshiriladi . Yaratilgan katakchani QTableWidget :: setItem () usulini chaqirish orqali jadvalga kiritish mumkin . SetItem () usulining birinchi parametri qator raqami, ikkinchisi ustun raqami. Shunday qilib, ushbu parametrlar jadvaldagi hujayraning o'rnini belgilaydi . Agar Siz dan foydalanayotgan hujayraning o'zida matn o'rnatishingiz mumkin QTableWidgetItem :: setText () usuli , va siz foydalanishingiz mumkin QTableWidgetItem :: setIcon () bit hisobot joylashtirish usuli . Agar katakchada ikkala matn bo'lsa va bitmap, bitmap matnning chap qismida joylashgan bo'ladi. QTableWidgetItem yacheykalar sinfi elementlarning nusxalarini yaratishga imkon beruvchi nusxa ko'chirish konstruktorini taqdim etadi . Shu maqsadda clone () usulidan foydalanishingiz mumkin . Matn va piktogrammalardan tashqari jadvalga vidjetlarni joylashtirishga ruxsat beriladi . Buning uchun setCellWidget () usuli ishlatiladi . Hujayra maydonini ikki marta bosganingizda, u QLineEdit vidjetidan foydalangan holda tahrirlash rejimiga o'tadi . 6-rasmda ko'rsatilgan dastur uchta ustun va uchta qatordan iborat jadvaldan foydalanadi . Hujayralar tarkibini o'zgartirish mumkin. 6-rasm.Jadval main.cpp fayli #include <QtGui> int main(int argc, char** argv) { const int n = 3; QApplication app(argc, argv);
QTableWidget tbl(n, n); QTableWidgetItem* ptwi = 0; QStringList lst; lst << "First" << "Second" << "Third"; tbl.setHorizontalHeaderLabels(lst); tbl.setVerticalHeaderLabels(lst); for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { ptwi = new QTableWidgetItem(QString("%1,%2").arg(i).arg(j)); tbl.setItem(i, j, ptwi); } } tbl.resize(350, 125); tbl.show(); return app.exec(); } Fayl bir yaratadi stol vidjet tbl . O'tgan birinchi va ikkinchi parametrlar uchun konstruktor qatorlar va ustunlar sonini belgilash. Jadvalimiz 3 dan 3 gacha bo'lgan o'lchamlarga ega bo'ladi . Jadval satrlari va ustunlar sarlavhalarini o'rnatish uchun (bizda bir xil), avval ularning ro'yxatini tuzamiz va keyin gorizontal va setVerticalHeaderLabel ( ) uchun setHorizontalHeaderLabel () uslubiga o'tkazamiz vertikal sarlavhalar uchun. Hujayra ob'ektlari tsiklda ( ptwi ko'rsatkichi ) yaratiladi . Satr va ustun raqamlari uzatiladi matn sifatida uchun konstruktor . SetItem () usulini chaqirish orqali yaratilgan jadval yacheykasi birinchi va ikkinchi parametrlarda ko'rsatilgan holatga o'rnatiladi. 2. Vektorlar va massivlarni dasturlash. #include "mainwindow.h" #include "ui_mainwindow.h" #include "QStandardItemModel"
#include "QStandardItem" #include <QTableWidget> #include <QMessageBox> #include<QString> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->tableWidget->setColumnCount(4); ui->tableWidget->setRowCount(2); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { QString array[4][2]; int a=0; for(int i=0; i<2; i++) for(int j=0; j<4; j++) { QTableWidgetItem* item = ui->tableWidget->item(i,j); if(ui->tableWidget->item(i,j)==0) { ui->tableWidget->setItem(i,j, new QTableWidgetItem("The Cell is Empty")); a=a+1;
} } if(a!=0) QMessageBox::information(this,"New Info","Your table is not full"); else { for(int i=0; i<2; i++) for(int j=0; j<4; j++) { QTableWidgetItem* item = ui->tableWidget->item(i,j); array[j]=item(i,j); }}} Sinov uchun savollar: 1.Qt dasturlash muhitida jadvallar yaratish usullari va ular bilan ishlash imkoniyatlari.Vektor va massivlarni dasturlash. 2. TableWidjet sinfi haqida ma’lumot. Uyga vazifa : С ++ tizimida arifmetik amallarni mukammal o'rganish va ularni amaloyotga tatbiq etish. Adabiyotlar [6],[7],[8],[9],[10],[11],[13], [14],[15],[16] 13-ma’ruza Mavzu: Vaqt va sana bilan bog’liq jarayonlarni dasturlash Reja: 1.Taymer,vaqt va sana bilan bog’liq jarayonlarni dasturlash. 2.QTime va QDateТime sinflari,ularning xossa va hodisalari. Darsning maqsadi: 1. Talabalarda Sizeof operatori to’g’risida umumiy bilimlarni hosil qilish. 2. С++ tizimida mantiqiy va taqqoslash amallari to’g’risida amaliy ko’nikmaga ega bo’lish. 3. С++ tizimida mustaqil ishlash malakalarini shakllantirish. Tayanch iboralar: Sizeof operator,mantiqiy amallar, taqqoslash amallari.