Mavzu: Dialoglar bilan ishlash. Bir nechta formalar bilan ishlash
Download 19.5 Kb.
|
22-mustaqil ta\'lim
120-guruh talabasi Shaydullayev Muhammadalining Algoritimlash va dasturlash fanidan tayyorlagan 22-MUSTAQIL TALIM ISHI MAVZU: Dialoglar bilan ishlash.Bir nechta formalar bilan ishlash Dialoglar, ilovadagi foydalanuvchining interaktiv ravishda ma'lumotlar kiritishi yoki tanlashi uchun ishlatiladigan pop-up oynalardir. C++ tilida, GTK+ yoki Qt frameworklaridan foydalanib dialoglar yaratish va ular bilan ishlash mumkin.
int main(int argc, char *argv[]) { gtk_init(&argc, &argv); GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); GtkWidget *button = gtk_button_new_with_label("Show Dialog"); g_signal_connect(button, "clicked", G_CALLBACK(on_button_clicked), NULL); GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add(GTK_CONTAINER(box), button); gtk_container_add(GTK_CONTAINER(window), box); gtk_widget_show_all(window); gtk_main(); return 0; } Ushbu misol GTK+ frameworkini qo'llaydigan ilovada dialog yaratishni ko'rsatadi. on_button_clicked nomli funktsiya tugma bosilganda chaqiriladi va "Hello, Dialog!" xabarni ko'rsatuvchi dialog oynasini chiqaradi. main funksiyasida GTK+ ning yoqilganligini tasdiqlash uchun gtk_init chaqiriladi. Oyna (window) va tugma (button) yaratiladi va ularga bog'langan signal (destroy, clicked) vaqtincha qo'yiladi. Tugma oynasini qabul qiluvchi box (box) yaratiladi va tugma unga qo'shiladi. Box esa oyna ichiga qo'shiladi. Qt frameworki orqali dialog yaratish uchun quyidagi misoldan foydalanishingiz mumkin: #include #include #include #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; QVBoxLayout layout(&window); QPushButton button("Show Dialog"); QObject::connect(&button, &QPushButton::clicked, [&]() { QMessageBox::information(&window, "Dialog", "Hello, Dialog!"); }); layout.addWidget(&button); window.show(); return app.exec(); } Ushbu misol Qt frameworkini qo'llaydigan ilovada dialog yaratishni ko'rsatadi. QPushButton tugmasi bosilganda chaqiriladigan lambda funksiya orqali "Hello, Dialog!" xabarni ko'rsatuvchi dialog oynasi chiqariladi. main funksiyasida QApplication obyekti yaratiladi va ilova qo'llanishini boshlash uchun app.exec chaqiriladi. QWidget obyekti (window) yaratiladi va QVBoxLayout obyekti (layout) unga bog'langan. PushButton obyekti (button) yaratiladi va QObject::connect orqali tugma bosilganda chaqiriladigan signal (clicked) vaqtincha bog'lanadi. Tugma layout.addWidget orqali layoutga qo'shiladi. Dialoglar, foydalanuvchining ilovaga interaktiv ravishda bo'lishini ta'minlaydi va ma'lumot almashish uchun yaxshi vosita sifatida xizmat qiladi. Sizning tanlagan frameworkingizga mos keladigan dialoglarni yaratish va ularga mos ravishda bog'lanish mumkin. Bir nechta formalar bilan ishlash Bir nechta formlar bilan ishlash, ilovada ko'p sayda forma yaratish va ular orasida ma'lumot almashish va boshqarish imkonini beradi. Quyidagi C++ misoli ko'p sayda formalar bilan ishlashni ko'rsatadi: #include #include #include #include #include #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget mainWidget; // Form 1
// Form 2 QWidget form2; QVBoxLayout layout2(&form2); QLabel label2("Form 2"); QLineEdit lineEdit2; QPushButton button2("Submit"); layout2.addWidget(&label2); layout2.addWidget(&lineEdit2); layout2.addWidget(&button2); QObject::connect(&button2, &QPushButton::clicked, [&]() { QString text = lineEdit2.text(); QMessageBox::information(&form2, "Form 2", "Entered Text: " + text); }); // Main layout QVBoxLayout mainLayout(&mainWidget); mainLayout.addWidget(&form1); mainLayout.addWidget(&form2); mainWidget.show(); return app.exec();
Har bir tugma bosilganda, bog'lanayotgan forma uchun clicked signal chaqiriladi. Signal chaqirildikda, QLineEdit-dan kiritilgan matn olinadi va QMessageBox::information orqali kiritilgan matn chiqariladi. Barcha formalar va ularning komponentlari QVBoxLayout orqali asosiy oynaga (mainWidget) qo'shiladi. mainWidget ko'rsatiladi va ilova ishga tushiriladi. Siz misoldagi ko'p sayda formlarni va ularning komponentlarini o'zgartirishingiz mumkin. Shunday qilib, ilovada bir nechta formalar bilan ishlashingiz mumkin. Download 19.5 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling