3.2-Ders 2
Bu derste UI (User Interface) tasarlayıp, run-time (çalışma zamanında) ekranda gösterip merhaba dünya diyeceğiz.
"ders2" diye bir klasör oluşturup içerisinde "src" ve "formlar" adında iki adet daha klasör oluşturuyoruz. "src" klasörüne girip aşağıdaki kodu yazıp main.cpp olarak kaydedin.
ardında QT4 Designer ile dilediğiniz gibi bir form tasarlayıp "formlar" klasörünün içerisine "deneme.ui" olarak kaydedin.
Konsoldan main.cpp dosyasının bulunduğu konuma geçip aşağıdaki komutu verin
Linux için:
Windows için:
bu dizinde oluşacak .pro dosyasına şu satırı ekliyoruz.
yine konsolda şu komutları veriyoruz.
Linux için:
Windows için:
ve programı çalıştıralım.
Peki ya form üzerindeki bir bileşene ulaşabilmek için ne yapmalıyız?
Örneğin "label1" adında bir QLabel nesnemiz olsun
"ders2" diye bir klasör oluşturup içerisinde "src" ve "formlar" adında iki adet daha klasör oluşturuyoruz. "src" klasörüne girip aşağıdaki kodu yazıp main.cpp olarak kaydedin.
#include <QApplication> #include <QtUiTools> #include <QFile> #include <QWidget> int main( int argc, char *argv[] ){ QApplication app(argc,argv); //UI dosyasınındaki form'u okuyabilmek için QUiLoader formYukle; //ui dosyasını salt-okunut olarak aç QFile uiDosyasi("/home/nsm/Desktop/ders2/formlar/deneme.ui"); uiDosyasi.open( QFile::ReadOnly ); //ui dosyasındaki formu'u oluşturup bellek adresini dönder. QWidget *w = formYukle.load( &uiDosyasi ); //dosyayı kapat uiDosyasi.close(); //formu ekranda göster. w->show(); return app.exec(); }
ardında QT4 Designer ile dilediğiniz gibi bir form tasarlayıp "formlar" klasörünün içerisine "deneme.ui" olarak kaydedin.
Konsoldan main.cpp dosyasının bulunduğu konuma geçip aşağıdaki komutu verin
Linux için:
qmake-qt4 -project
Windows için:
qmake -project
bu dizinde oluşacak .pro dosyasına şu satırı ekliyoruz.
CONFIG +=uitools
yine konsolda şu komutları veriyoruz.
Linux için:
qmake-qt4 make
Windows için:
qmake mingw32-make
ve programı çalıştıralım.
Örneğin "label1" adında bir QLabel nesnemiz olsun
QLabel *etiket = qFindChildqFindChild() fonksiyonu ile w ismi ile belirtilen widget'in(formun) içinde label1 isimli nesneyi bulup, QLabel * tipinde dönderip etiket işaretcisine atamış olduk, artık etiket işaretcisi üzerinden nesnemize ulaşabiliriz.( w, "label1");
Yorumlar
Yorum Gönder