Qt ile çalışmak için hazırlıklar ve IDE ipuçları...

Endorfin35+

Kayıtsız Üye
Katılım
1 Mayıs 2020
Mesajlar
4,187
Bu başlık altında Qt nin IDE sinin kullanımı hakkında notlar paylaşmayı hedefliyorum...

Daha önce Qt kurulumundan bahsetmişim. şurada,

Eğer daha önceden bilgisayarınızda Qt kurulu ise hangi sürümün ve hangi paketlerin yüklü olduğunu tespit etmek, gerekli güncellemeleri yapmak için Qt nin "Qt Maintenance Tool" adlı faydalı bir aracı bulunmakta.

1632850007573.png


Bilgisayarınızda Qt yüklü değil ise kurulum aşamasında da hangi paketleri yüklemek istediğinizi seçebiliyorsunuz. Bende Qt 6.2.0 ve Qt Creator 5.0.0 yüklü durumda.

1632850203192.png


1632850379934.png


Kurulum/güncelleme sonrası Qt Creator programını çalıştırarak Qt nin IDE sine erişiyoruz.

1632850691635.png


Ben hala ide nin içerisinde kayboluyorum. Yaptığım bir ayarı nerden yapmıştım acaba diyerek uğraşıp duruyorum henüz...

Adım adım bazı basit konulara değinelim.

Renk Teması Seçme :

"Tools" menüsünden "Options" seçimi yapılır.
1632850888287.png


"Environment" Bölümünden "Theme" seçeneği ile istenilen (açık/koyu) tema seçimi yapılır.

1632851032198.png





Yeni Bir Proje Oluşturma :

"File" menüsünden "New" seçeneği ile ilerlenir.

1632854423037.png


Qt Widgets veya Qt Console Application seçilir. Tavsiyem Qt yi tanıyıncaya kadar Console App. seçilmesi yönünde...

1632854706353.png


Projeye isim verilerek devam edilir. Sonraki seçimler varsayılan olarak bırakılır ve proje oluşturulur.

1632854991227.png


Proje içerisinde Qt nin oluşturduğu Deneme1.pro ve bir adet kaynak dosyamız main.cpp bulunmakta.

1632856377582.png


cout ile merhaba çıktısı almak için sol menudeki play butonuna basıyoruz ve Merhaba QT çıktısını gördük. Herşey yolunda gibi...

Terminal Penceresinden Çıktı Alma :

Eğer program çıktısını terminal penceresinde görmek istiyorsak aşağıdaki resimde bulunan ayarları yapıyoruz...

1632856569976.png


Programı tekrar çalıştırınca çıktımız artık terminal penceresinde geliyor.

1632856654468.png
 
Boş Proje Taslağı Oluşturma :

Qt nin IDE seçenekleri bize tamamen boş bir proje oluşturma imkanı sağlamıyor. Bizde dışarından bir proje dosyası oluşturup bu dosya sayesinde boş bir proje oluşturabiliyoruz.

Adım 1 : İstediğiniz bir dizin altında yine istediniz isimde bir klasör oluşturun. Bu bizim proje klasörümüz olacak. Klasör içerisinde bir adet txt dosyası ekleyerek uzantısını "pro" olarak değiştirin. Dosya adını ise proje adı olarak belirleyin.

1633258009909.png



Adım 2 : Qt IDE sini açarak "file" menusunden "Open file or project" seçeneğini ile oluşturduğumuz proje dosyamız içindeki pro dosyasını çağıralım.

1633258199925.png


Adım 3 : IDE bize projenin nasıl derleneceğini soracaktır. MinGW 64 bit i (bende varsayılan olarak geliyor) seçelim ve "Configure Project" butonuna basarak taslağımızı oluşturmayı tamamlayalım.

1633258265558.png


Adım 4 : Boş bir proje oluşturduk. Kod yazmak için dosya eklemeliyiz. Proje ikonu üzerinde sağ tıklayarak "Add New" opsiyonunu seçelim.

1633258559549.png


Adım 5 : Açılan Pencerede "C/C++ Source File" seçimini yapalım ve "Choose" butonuna basalım.

1633258692816.png


Adım 6 :
Karşımıa gelen ekranda dosya ismini girmemiz isteniyor. "main" olarak dosyamızı adlandırıp "Next" butonuna basalım.

1633258844026.png


Adım 7 : Son olarak dosyanın hangi proje ile ilişkilendirileceği soruluyor. Projemizin adını seçerek işlemi sonlandıralım.

1633258904625.png


Böylece boş bir proje oluşturduk. artık hem pro dosyasını hemde c++ dosyasını istediğimiz gibi kodlayabiliriz.

1633259004938.png

1633259034940.png


*.pro dosyasında değişiklik yaptıkça "build" menusunden " run qmake" yapmayı unutmayın.
 
Bu ve diğer başlık benim için faydalı oldu. Teşekkürler.

Merak ettiğim bunun başka bir alternatifi var mı? Gömülü sistem linux için..

Sorma sebebim şu çok güzel animasyonlar vs yapmışla ama sprite ile resimler import alıp filan yapılıyor. Yeterince ağır ve responsivitesi düşük çalışmalar oluyor.

Animasyonu daha standart olan ama daha mantıklı üretim metodu olan başka bir tool var mıdır?

Bir diğer konu ise lisans konusu...
Şuradan anladığım kadarıyla haliyle dışarıya bağımlı hale geliniyor. Belki fabrikadaki gömülü sistem için uygulanabilir, Türkiye ban yerse hemen alternatifi yapılır geçilir. Ama dağıtımı yapılan ticari sisteme QT kullanmak dışarıya bağlanmak oluyor gibi duruyor. Aselsan, havelsan, tai vs o geliştirdikleri cihazların ekranlarından bunu mu kullanıyorlardır yoksa daha az gelişmiş olsun bizim olsun diye başka bir çözüme mi gitmişlerdir?
Ben bu işlerde acemiyim. Velhasıl sorularının cevabı bende yok. Ancak amaç sadece bir hmi ise qt ile uğraşmadan sadece hmi kullanır geçerdim. Bu konuda başarılı firmalar var. En bilineni Nextion. Daha endüstriyel ürünlerde var...

Dışa bağımlı kalmak derken ne demek istedin? Tam anlamadım.
 
Projeye Sınıf (Class) Ekleme :

Adım 1 :
Daha önce boş proje oluşturma adımlarına benzer şekilde proje dosyası üzerinde sağ tıklayarak "add new" opsiyonu seçilir.

1633616867171.png


Adım 2 : "Class name" olarak sınıfa verilmek istenen isim yazılır. Örneğin sınıfımızın adı "test" olsun. Bu esnada oluşturulacak olan header ve source dosyası için olarak "test.h" ve "test.cpp" dosya adları eklenir.

1633616963964.png


Adım 3 : Yukarıdaki resimde "Base Class:" seçeneğine dikkat ediniz. Varsayılan olarak "Custom" seçeneği gelmektedir. Burada bu sınıfın hangi üst sınıftan miras alacağı sorulmaktadır. Kendi yazdığımız bir sınıftan miras alacaksak veya hiç miras olamayacaksak burada bir değişiklik yapılmasına gerek yoktur. Ancak örneğin biz "QObject" sınıfından miras olmak istiyor isek burayı "QObject" olarak değiştirelim. "Include QObject" ve "Add Q_OBJECT" seçenekleri otomatik olarak aktif olur. Next butonu ve sonrasında "Finish" ile devam ederek sınıfımızı ekleyelim.

1633617799711.png


Adım 4: "test.h" ve "test.cpp" dosyaları aynı anda oluştu ve içerikleri de otomatik olarak oluşturuldu. Miras alma, tanımlama her şey hazır.

1633618102485.png




Bize sadece üyeleri ve metotları belirlemek kalıyor.
 

Ekler

  • 1633617389250.png
    1633617389250.png
    29.8 KB · Görüntüleme: 101
Qt Designer Tasarımının C++ Kodları:

Qt designer kolayca görsel arayüz tasarlama imkanı sağlar ancak tasarım dosyası *.ui uzantılıdır ve içeriğide xml tabanlıdır. Derleme sırasında dosya içeriği c++ kodlarına çevirilierek projeye dahil edilir. Ancak biz kodları doğrudan Qt IDE içerisinden göremeyiz.

1633771284908.png


Kodlara erişmenin en kolay yollarından biri Qt designer ı IDE içerisinden değil de haricen çalıştırmaktır.


1633771352140.png


Form menusunden "C++ Kodunu Görüntüle.." seçilir.

1633771419360.png


Açılan pencerede tasarıma ait kodlar görüntülenir...

Bonus : Formun çalışma zamanında nasıl görüleceğini görmek için yine form menüsünden Önizleme kullanılır.

1633771523436.png
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,763
Mesajlar
98,764
Üyeler
2,458
Son üye
rickss

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top