404 Not Found.

Sayfa Bulunamadı

İstediğiniz sayfa sunucu üzerinde bulunamadı.

Not Found

The requested document was not found on this server.

Web Server at nesimia.com
Ders - 1
19.11.2007 - 12:47
EkleBunu Sosyal Paylaşım Butonu5 Yorum | 807 Okuma

İlk örnek ile başlayalım.

Hemen bir yerlerde bir klasör oluşturup aşağıdaki kodları bir metin düzenleyici ile yazıp main.cpp olarak kaydedin.

#include <QApplication>
#include <QLabel>

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

QApplication app( argc, argv );
QLabel *label1 = new QLabel("Merhaba Dünya");
label1->show();
return app.exec();
}

Peki burada ne yaptık;

1. Satırda QT Application (QT Uygulama) sınıfını "qapplication.h" programımıza dahil ettik bunu eklememiz zorunlu çünkü bir QT uygulaması inşaa edeceğiz.

2. Satırda QLabel sınıfını uygulamamıza dahil ediyoruz QLabel ne diyebilirsiz, ekranda bir mesaj veya resim göstermeye yarayan bileşen.

4. Satırda C bilginize göre ne yaptıgını kavrayabilirsiniz ama kısaca bahsetmek gerekirse int argc (argument count) ile dışarıdan programa girilen argümanların(parametre) sayısı tutuluyor bu sayı en az 1'dir çünkü programın adı ilk argümandır. char *argv[] ilede argümanların listesi bir dizide tutulur.

6. Satırda bir qt uygulaması oluşturup dışarıdan girilen argüman sayısı ve argüman listesini bu uygulamaya aktarıyoruz.

7. Satırda label1 adında QLabel nesnesi oluşturuyoruz.

8. Satırda oluşturulan label1 nesnesi show() üye fonksiyonu ile görünür hale getiriliyor.

9. Satırda QT uygulaması çalıştırılıyor. return değeri ile QT uygulamasından döner değeri dönderiyoruz çünkü bu değer işletim sisteminin , programın normal kapatılıp kapatılmadığını algılamasını sağlıyor.

Konsol ortamında main.cpp dosyasının bulunduğu dizine geçip;

Linux için: (Bu komut ubuntu'ya göre, sizin dağıtımınızda farklı olabilir.)

qmake-qt4 -project

Windows için:

qmake -project

qmake dizindeki dosyaları tarayıp proje'nin derlenmesi için gerekli olan bilgileri depolayan .pro (proje) dosyasını oluşturacak.

Uyarı : Windows'da dosya uzantılarını gösterildiğinden emin olun, örneğin siz main.cpp dosyasını oluşturduğunuzda aslında bu main.cpp.txt olacaktır ve qmake-qt4 -project komutunu verdiğinizde  qmake .cpp dosyasını bulamayıp .pro dosyasının içindeki parametrelerin eksik olmasına sebeb olabilir.

Daha sonra

Linux için:

qmake-qt4

Windows için:

qmake

bu komut'larda derleme için gerekli olan make dosyasını .pro dosyasındaki bilgiler ışığında oluşturacak. Artık derleme işlemine geçebiliriz.

Linux için:

make

Windows için:

mingw32-make

komutlarını veriyoruz. Yazımda bir hata yapmadıysanız hata mesajı almadan derleme yapabilmeniz lazım.

Windowsa programın derlenmiş hali (bu örnekte exe hali) "release" dizini içinde olacaktır. Linux'de ise varsayılan dizin içinde.

QT Hello Word - Linux

Linux'de Ekran Görüntüsü


 

QT Hello Word - Windows

Windows'da Ekran Görüntüsü

 

'Ders - 1' İle İlgili Diğer Yazılar İçin Tıklayın.

5 Yorum
Evrim
19.11.2007 - 15:19
Cpp ve qt yeni birisi olarak. Anlatımın süper abi...

Teşekürler.Uyguladım ve sonucu gördüm.

Devamını elbetde bekliyoruz.

İyi çalışmalar...
Nesimi ACARCA
19.11.2007 - 17:06
Devamı geliyor beklemede kalın.
:)
Yakup_AKGUL
06.12.2007 - 17:07
Selam gercekten guzel baslangic, devaminin gelmesi dilegiyle,
Ellerinize saglik...
07.12.2007 - 22:38
Programı şu şekilde yazarsanız Linux altında tr karakter sorunu çekmezsiniz.( keza windowsta da )

#include <QApplication>
#include <QLabel>
#include <QTextCodec>

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

QApplication app( argc, argv );
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QLabel *label1 = new QLabel
(
codec->toUnicode("Merhaba Dünya")
);
label1->show();
return app.exec();
}
Nesimi ACARCA
08.12.2007 - 14:20
Kesinlikle haklısınız bende bir ekleme yapayım; bu soruna qt3'de mysql kullanırken çok rastlardım sizin yaptığınız gibi bileşenlerin text(label,button gibi) özelliğide tr karakterler sorunsuz görünüyor peki veritabanından okunan bir değer lineEdit'da bozuk görünürse ne olacak? Bende o sorunu tüm CStrings'leri utf8 yaparak çözdüm. Yani uygulamanın main.cpp dosyasını şu şekilde düzeltmeniz yeterli bu eklemeler ile uygulamanın tüm kısmında rahatlıkla tr karakter okuyup yazabilirsiniz.

#include <QApplication>
#include <QLabel>
#include <qtextcodec.h>
//#include <qcstring.h>qt3 de gerek olabilir.

int main( int argc, char *argv[] ){
//Uygulamadaki Translation işlemleri için örnegin labelin caption özelliğine tr yazıp okumak için.
QTextCodec::setCodecForTr( QTextCodec::codecForName("utf8") );

//Uygulamadaki CStrings için yani db güncelleme işlemlerinde tr yazılıp okunabiliyor.
QTextCodec::setCodecForCStrings ( QTextCodec::codecForName("utf8") );

QApplication app( argc, argv );
QLabel *label1 = new QLabel("Merhaba Dünya");
label1->show();
return app.exec();
}
'Ders - 1' İle İlgili Diğer Yazılar :
Google
 
En Son Yorumlar (Makaleler)
  • Nesimi ACARCA:QObject::connect(f.ornekButton, SIGNAL(clicked()), 0, SLOT( ornek->show() ) ); &#...
  • Cihan:Merhabalar, öncelikle bu güzel makale için tebrikler... Benim bir so...
  • Muallim:Kardeş Windows'ta denedim her şey güzel de, çalıştırma aşaması nasıl windows'ta ?...
  • Taner Senyurt:Hosgeldin aykut :D...
  • Aykut SAY:Merhabalar. biraz geç oldu ama QT ile bugün ilk kez tanıştım ve bir .Net geliştirici olarak yi...
  • Nesimi ACARCA:Bence tüm yüklemleri silip tekrar deneyin windows için http://www....
  • Doğugün Özkaya:kullandığım qt 4.3.4 olduğundan sanırım; "bin" klasörünün içinde qmake, uic ya da ...
  • Nesimi ACARCA:@Doğugün özkaya >bu bin path i nasıl tanımlayabilirim? Kurulum ...
  • Doğugün özkaya:maaalesef bende preference page de bin path i belirtilen ekilde girdiğimde hata veriyor. "bin p...
  • Yiğit Ağaoğlu:Linux altında Qt Eclipse integration oldukça sorunlu. Devamlı problem çıkartıyor. Onun yerine ...
Sponsor Bağlantı