3.3-Ders 3

Bu derste arayüz dosyası olan .ui dosyasını .h dosyasını çevirip uygulama içinde kullanacağız.

"ders3" adında yeni bir klasör oluşturup QT4 Designer ile bir Widget hazırlayıp "form.ui" olarak kaydedin. Ardından aşağıdaki kodları bir metin editoründe yazıp "main.cpp" isminde kaydediyoruz.

#include <QApplication>

//ui_arayüzdosyasınınadi.h
#include "ui_form.h"

int main ( int argc, char *argv[] ){

 QApplication app(argc,argv);

 QWidget *w = new QWidget;

 Ui::Form f;
 f.setupUi(w);
 f.label->setText("<h1>Merhaba Dunya</h1>");

 w->show();
 
 return app.exec();

}

komut satırına geçip
Linux için:
qmake-qt4 -project
qmake-qt4
make

Windows için:
qmake -project
qmake
mingw32-make

komutlarını veriyoruz.

Peki burada ne yaptık?

4. satıra dikkat edilirse  #include "ui_form.h" satırı ile oluşturmadığımız bir dosyayı uygulamaya dahil ettik, peki derleyici bundan şikayetçi olmaz mı? Hayır, "form.ui" olan dosyamız derleme esnasında okunur, cpp koduna çevrilip "ui_form.h" olarak kaydedilir. Bu dosyadaki sınıfı istersek nesne olarak kullanır, istersek kalıtım yöntemi ile yeni bir sınıf oluşturup kullanabiliriz. Biz bu derste nesne olarak kullanacağız. 12. satırda bunu göstermektedir.

.ui dosyasından .h dosyasına otomatik olarak çevrilen her arayüz sınıfının içinde setupUi() adında üye fonksiyon vardır, işte bu fonksiyon ile arayüz oluşturulur.

13. satırda görüleceği gibi bu fonksiyon parametre olarak QWidget* türünde bir form alıyor (çünkü Widget tasarladık, eğer bir Dialog tasarlasaydık QDialog* tipinde QDialog penceresi isteyecekti.) bu forma formu tasarlarken kullandığımız bileşenleri ekliyor, ardında w->show(); ile bu formu ve setupUi() üye fonksiyonunun oluşturduğu arayüzü görünür hale getiriyoruz.

Yorumlar

  1. Peki ui'den h'ye çevirmişmiş bir headres dosyasını tekrar nasıl ui'ye çevirebiliriz_?

    YanıtlaSil

Yorum Gönder