<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8918677980791453036</id><updated>2011-10-11T22:43:03.840+03:00</updated><category term='KDE'/><category term='Qt hakkında'/><category term='Arayüz Programlama'/><category term='Qt Sınıfları'/><category term='Konsol Programlama'/><category term='IDE'/><category term='staj'/><title type='text'>blog::mbakturk</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-6139582631139306764</id><published>2010-09-14T11:32:00.000+03:00</published><updated>2010-09-14T12:04:16.562+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arayüz Programlama'/><title type='text'>Qt ile basit bir video player yapımı</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qBzVbhA0Tmk/TI84n29MnMI/AAAAAAAAANM/SI2bkdmKvo8/s1600/arkaplan1.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 308px; height: 327px;" src="http://1.bp.blogspot.com/_qBzVbhA0Tmk/TI84n29MnMI/AAAAAAAAANM/SI2bkdmKvo8/s400/arkaplan1.png" alt="" id="BLOGGER_PHOTO_ID_5516690325970394306" border="0" /&gt;&lt;/a&gt;Herkese merhaba. Bu bölümde yanda gördüğünüz gibi basit bir video player yapacağız. Bu iş için Qt'un hemen hemen her türlü multimedia işleri için kullandığı Phonon frameworkünü kullanacağız.(Ayrıntılar için &lt;a href="http://doc.trolltech.com/4.6/phonon-overview.html"&gt;bakınız&lt;/a&gt; ).&lt;br /&gt;&lt;br /&gt;Kısaca yazacağımız programdan bahsedeyim. Yazacağımız program sadece 3 işi yapacak. Video'yu oynatacak, duraklatacak ve durduracak. Bu işler için kabaca 3 button ve phonon frameworkü ile gelen 1 videoplayer widget'ı kullanacağız.&lt;br /&gt;&lt;br /&gt;Programı yazmaya başlamadan önce Phonon frameworkünü kullanabilmek için  "pro" uzantılı dosyamıza şu satırı ekliyoruz&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;QT +=phonon&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;İsterseniz şimdi programı yazmaya başlayalım.&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;&lt;br /&gt;/*Ben Pardus işletim sistemi kullandığım için&lt;br /&gt;Phonon kütüphanesi KDE'nin altında bulunuyor&lt;br /&gt;sizinki farklı olabilir. Genelde diğer sistemlerde&lt;br /&gt;sadece #include &amp;lt;Phonon/VideoPlayer&amp;gt; yeterli oluyor*/&lt;br /&gt;&lt;br /&gt;#include &amp;lt;KDE/Phonon/VideoPlayer&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace Phonon;&lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;  QApplication a(argc, argv);&lt;br /&gt;&lt;br /&gt;  //videoplayer ve buttonların&lt;br /&gt;  //üzerinde bulunacağı widget&lt;br /&gt;  QWidget *parent = new QWidget();&lt;br /&gt;&lt;br /&gt;  //Burada kullanacağımız Phonon VideoPlayer nesnesini tanımlıyoruz&lt;br /&gt;  VideoPlayer *video = new VideoPlayer(parent);&lt;br /&gt;&lt;br /&gt;  //İzleyeceğimiz videonun yerini tanımlıyoruz.&lt;br /&gt;  video-&gt;load(QString("/home/mehmet/video.mpg"));&lt;br /&gt;&lt;br /&gt;  //başlat butonu&lt;br /&gt;  QPushButton *play = new QPushButton(parent);&lt;br /&gt;  play-&gt;setText("play");&lt;br /&gt;  play-&gt;connect(play,SIGNAL(clicked()),video,SLOT(play()));&lt;br /&gt;  //duraklat butonu&lt;br /&gt;  QPushButton *pause = new QPushButton(parent);&lt;br /&gt;  pause-&gt;setText("pause");&lt;br /&gt;  pause-&gt;connect(pause,SIGNAL(clicked()),video,SLOT(pause()));&lt;br /&gt;  //durdur butonu&lt;br /&gt;  QPushButton *stop = new QPushButton(parent);&lt;br /&gt;  stop-&gt;setText("stop");&lt;br /&gt;  stop-&gt;connect(stop,SIGNAL(clicked()),video,SLOT(stop()));&lt;br /&gt;&lt;br /&gt;  //widgetların düzgün gözükmesi için&lt;br /&gt;  //dikey yerleşim kullanıyorum&lt;br /&gt;  QVBoxLayout * vlayout  = new QVBoxLayout(parent);&lt;br /&gt;&lt;br /&gt;  vlayout-&gt;addWidget(video);&lt;br /&gt;  vlayout-&gt;addWidget(play);&lt;br /&gt;  vlayout-&gt;addWidget(pause);&lt;br /&gt;  vlayout-&gt;addWidget(stop);&lt;br /&gt;&lt;br /&gt;  parent-&gt;setLayout(vlayout);&lt;br /&gt;  parent-&gt;setMinimumSize(300,300);&lt;br /&gt;  parent-&gt;setWindowTitle("Video Player");&lt;br /&gt;&lt;br /&gt;  parent-&gt;show();&lt;br /&gt;&lt;br /&gt;  return a.exec();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Artık sizinde kendinize ait video playerınız var :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-6139582631139306764?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/6139582631139306764/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/09/basit-bir-qt-video-player-yapm.html#comment-form' title='9 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/6139582631139306764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/6139582631139306764'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/09/basit-bir-qt-video-player-yapm.html' title='Qt ile basit bir video player yapımı'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qBzVbhA0Tmk/TI84n29MnMI/AAAAAAAAANM/SI2bkdmKvo8/s72-c/arkaplan1.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-2407956889544432599</id><published>2010-08-12T17:03:00.000+03:00</published><updated>2010-08-12T17:16:11.594+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><title type='text'>KDE 4.5 duyuruldu</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.thomasguymer.co.uk/tutorials/opensuse-11-1-guide/kde_logo.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 128px; height: 128px;" src="http://www.thomasguymer.co.uk/tutorials/opensuse-11-1-guide/kde_logo.png" alt="" border="0" /&gt;&lt;/a&gt;Unix ve Unix benzeri işletim sistemleri için geliştirilmiş bir masaüstü ortamı olan KDE'nin (K Desktop Environment - K Masaüstü Ortamı) 4.5 sürümü 10 Ağustos 2010 tarihinde &lt;a href="http://www.kde.org/"&gt;http://www.kde.org&lt;/a&gt; sitesinde duyuruldu.&lt;br /&gt;KDE ekibi, yeni sürümü; KDE geliştirme platformu, Plasma masaüstü-Netbook çalışma alanı ve KDE uygulamaları adı altında 3 farklı kategoride duyurdu.&lt;br /&gt;&lt;br /&gt;Yeni sürüm ile karşımıza çıkacak bazı özellikler ise şöyle:&lt;br /&gt;&lt;br /&gt;1-)Performans artışı ve daha kararlı bir ortam.&lt;br /&gt;2-)KSharedDataCache'de yapılan iyileştirmelerle diskteki veriye daha hızlı ulaşım.&lt;br /&gt;3-)Network ayarları, Plasma-storage ve bir çok Konqueror uygulamasına entegre edilebilen yeni KDE WebKit kütüphanesi&lt;br /&gt;4-)Kullanılabilirlikte bir çok düzeltmenin yapıldığı bir Plasma masaüstü.&lt;br /&gt;5-)Bir çok ilave özelliğin eklendiği ve kullanılabilirlik açısından geliştirilmiş KDE uygulamaları.&lt;br /&gt;&lt;br /&gt;KDE 4.5 hakkında daha detaylı bilgi edinmek için &lt;a href="http://kde.org/announcements/4.5/"&gt;burayı&lt;/a&gt; ziyaret edebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-2407956889544432599?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/2407956889544432599/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/08/kde-45-duyuruldu.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/2407956889544432599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/2407956889544432599'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/08/kde-45-duyuruldu.html' title='KDE 4.5 duyuruldu'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-7518431225446150137</id><published>2010-07-11T13:43:00.000+03:00</published><updated>2010-07-11T15:03:11.778+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='staj'/><title type='text'>Bir Pardus stajyerinin proje seçme hikayesi</title><content type='html'>Stajın 3. gününde eğitimler tamamlanmış, önümüze seçmemiz için 12 tane proje sunulmuştu. Karar vermek için bir gün süremiz vardı. Vakit kaybetmeden projeleri incelemeye başladım. Gözlerim 12 numaralı projede takıldı . 12 numarada, ncurses ya da farklı bir kütüphane kullanılarak, Pardus için yeni bir kurtarma modunun yazılması isteniyordu. Kısacası X-Window kullanmayan hızlı yüklenen ve hızlı çalışan bir kurtarma modu. Biraz düşündükten sonra içimden bir ses "kafama yattı yani hoşuma gitti" dedi. Böylece kararımı vermiş oldum 12 numaralı projeyi isteyecektim.&lt;br /&gt;&lt;br /&gt;Ertesi gün geliştiricilerle yapılan toplantıda bu kararımı açıkladım. Şansıma bu projeyi benden başka isteyen çıkmamıştı. Detaylar hakkında bilgi de aldıktan sonra istediğim projeye kavuşmuş, mutlu bir insan olarak toplantıdan ayrıldım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-7518431225446150137?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/7518431225446150137/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/07/bir-pardus-stajyerinin-proje-secme.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/7518431225446150137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/7518431225446150137'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/07/bir-pardus-stajyerinin-proje-secme.html' title='Bir Pardus stajyerinin proje seçme hikayesi'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-4411232617602579662</id><published>2010-07-08T20:26:00.000+03:00</published><updated>2010-07-11T14:50:27.919+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='staj'/><title type='text'>Pardus'ta staj</title><content type='html'>Öncelikle Linux ile nasıl tanıştığımı sizlere anlatayım. Linux maceram 2002 yılında Byte dergisinin verdiği Mandrake 9.0 Doplhin CD'sini elime almamla başladı. O zamanlar tek bildiğimiz işletim sistemi Microsoft Windows'tu haliyle. CD Kapağındaki penguen resmi yüzünden oyun zannettiğim Mandrake Linux'ü, Windows'a kurmaya kalktığımda, exe dosyalarını göremeyince telaşa kapıldım. Kendi kendime "bu ne olaki böyle" dedikten sonra CD'nin gizemini çözmeye çalıştım.&lt;br /&gt;&lt;br /&gt;CD'nin gizemini çözdüğümde "Ya bu Linux ne yararlı bir şeymiş" dedim kendi kendime ve bu konuyu daha yoğun araştırmaya başladım. Sonunda ülkemizin yazılım sektöründeki dışa bağımlığının ortadan kalkmasının tek yolunun özgür yazılımdan geçtiğine karar verdim. Tabi o zamanlar bunun pek mümkün olacağını düşünmüyordum. 2004 yıllında TÜBİTAK'ın Pardus projesini başlattığını duyunca tünelin ucunda bir ışık görmeye başladım. Şimdi de tünelin ucundaki ışığın şiddetini biraz daha arttırabilmek için çok isteyerek başvurduğum Pardus stajında görev yapmaktayım.&lt;br /&gt;&lt;br /&gt;Yazımın bundan sonraki kısmında, staja başlamadan önce kafama takılan soruları kendime sorup cevaplayacağım. Umarım sizin kafanıza takılan sorulara da cevap vermiş olurum.&lt;br /&gt;&lt;br /&gt;soru: TÜBİTAK-UEKAE yerleşkesi Gebze'de. Ulaşımı nasıl sağlayacağız?&lt;br /&gt;cevap: TÜBİTAK'ın bu konuda hakkını vermek lazım. Eğer İstanbul'da oturuyorsanız eminin olun evinizin yakınlarında bir yerden servis geçiyordur. &lt;a href="http://www.mam.gov.tr/iletisim/servis-guzergahlari-2010.pdf"&gt;Buradan&lt;/a&gt; servis güzergahlarını inceleyebilirsiniz. Şehir dışından gelen arkadaşlar içinde misafirhaneler bulunmakta ama siz misafirhane işine pek güvenmeyin kalacak yerinizi kendiniz ayarlamaya çalışın.&lt;br /&gt;&lt;br /&gt;soru: Çalışma günleri ve saatleri nelerdir ?&lt;br /&gt;cevap: TÜBİTAK-UEKAE Pardus ekibi hafta içi her gün saat 8:00 - 17:00 arasında çalışmaktadır.&lt;br /&gt;&lt;br /&gt;soru: Yemek olayını nasıl yapacağız ?&lt;br /&gt;cevap: Kahvaltıyı evinizde yapabilirsiniz :) olmadı UEKAE binasının içinde bulunan kantinden benim yaptığım gibi sandviç - portakal suyu ikilisini deneyebilirsiniz :P . Öğle yemeği saat 12:00 - 13:00 arasında, yemekhaneden stajyerlere ücretsiz olarak verilmektedir.&lt;br /&gt;&lt;br /&gt;soru: Çalışma ortamı nasıl ?&lt;br /&gt;cevap: Çalışma ortamı bana göre gayet iyi. Stajyerlere özel (klimalı, modern :) ) ofisler ve (her başına oturduğumda eve götüresim gelen intel quard işlemcili 22 inch lcd monitörlü) bilgisayarlar veridi. Pardus çalışanları da güler yüzlü ve yardım severler. Özellikle buradan her yarım saatte bir yanına soru sormaya gittiğim ve her soruma sağ olsunlar bıkmadan cevap veren  Ozan ve Renan beye teşekkür ediyorum :) Ayrıca ilk 3 gün stajyerlerin çalışma ortamına hızla ayak uydurabilmesi için eğitimler veriliyor. 3 gün sonunda çalışma sistemini öğrenmiş ve "hadi artık bilgisayarımı verin bana" moduna giriyorsunuz :)&lt;br /&gt;&lt;br /&gt;soru: Kimin hangi projeyi yapacağı nasıl belirleniyor?&lt;br /&gt;cevap: Projeler, stajyerlere bir liste halinde veriliyor. Stajyerler de kendilerine uygun olan projeleri belirliyorlar. Daha sonra hep beraber bir toplantı yapılıyor. Toplantıda stajyerler seçtikleri projelerle ilgili kafalarına takılanları geliştiricilere soruyorlar, sonunda herkes yapabileceğini düşündüğü projeyi seçiyor.&lt;br /&gt;&lt;br /&gt;soru: Python bilmek zorunda mıyım ?&lt;br /&gt;cevap: Staja başlamadan önce Python'u bilmiyordum ve hakkında da pek iyi düşüncelerim yoktu. Aklımda projemi C/C++ ile yapmak vardı. Danışmanın Ozan bey Python'u kullanmamın bana kolaylık sağlayacağını söylendi. "Ben Python'u bilmiyorum nasıl yapacağım ?" diye sorduğumda, 1 günde öğrenirsin ne var ki diye bir karşılık aldım :) Gerçekten de dediği gibi Python 1 günde öğrenilebilen ve hemen hemen her şeyde kolaylık sağlayan bir dilmiş. Şu an projemi Python ile geliştiriyorum ve bitirmek üzereyim :) &lt;br /&gt;&lt;br /&gt;soru: Aklıma soracak soru gelmedi. Senin söylemek istediğin bir şeyler var mı ?&lt;br /&gt;cevap: Bundan önce ki stajımı yine önemli bir yerde yapmıştım ve bana ne yararı oldu diye sorarsanız genel kültür dışında hiç bir yarı olmadı. Şu anda cennette gibiyim. Tam anlamıyla verimli bir yazılım stajı geçirmekteyim. TÜBİTAK'ın sunduğu olanakların dışında, stajyerlerine, "stajyerlere 1 ay boyunca katlanacağız artık" zihniyeti ile değil bu arkadaşlar da artık bizim çalışanlarımız düşüncesiyle hareket eden bir ekibin için 1 ay da olsa çalışmaktan çok mutluyum.&lt;br /&gt;&lt;br /&gt;Yazımı burada bitiriyorum. Sizin de aklınıza stajla ilgili takılan sorular olursa çekinmeden sorabilirsiniz. Sorularınızı elimden geldiğince cevaplamaya çalışacağım.&lt;br /&gt;&lt;br /&gt;Herkese iyi çalışmalar. Görüşmek üzere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-4411232617602579662?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/4411232617602579662/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/07/pardusta-staj.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/4411232617602579662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/4411232617602579662'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/07/pardusta-staj.html' title='Pardus&apos;ta staj'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-5071628951686751790</id><published>2010-04-25T11:42:00.001+03:00</published><updated>2010-04-25T11:47:37.948+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arayüz Programlama'/><title type='text'>Arayüz Programlama::Bölüm 3:"SIGNAL ve SLOT"</title><content type='html'>SIGNAL ve SLOT iki nesneni bir birleri ile iletişim kurmasına yararlar. SIGNAL ve SLOT mekanizması Qt'un en önemli özelliklerinden biridir.Arayüz (GUI) programlamada, bir widgetta bir değişiklik olduğunda diğer widget tarafından fark etdilmesini isteriz yaninesneleri bir birleri ile iletişim kurmasını isteriz. Örneğin kullanıcı kapat düğmesine bastığında pencerenin kapanması gibi.&lt;br /&gt;&lt;br /&gt;Eski toolkitlerde bu durum callback (geri çağrı) kullanarak çözülmüştür.Callback bir fonksiyonu işaret eder. Çalışan bir fonksiyona bir durumu bildirmek istiyorsak kullanacağımız fonksiyonu çalışan fonksiyona işaret ederiz.Çalışan fonksiyonda uygun olduğu zaman işaret ettiğimiz fonksiyonu çalıştırmaya başlar.Ancak bu yöntemin çalışan fonksiyonun, işaret ettiğimiz fonksiyonu doğru argümanlarla çalıştıracağını bilemememiz gibi sorunları vardır yani bu yöntem type-safe değildir.&lt;br /&gt;&lt;br /&gt;Qt'da callback tekniğine alternatif olarak SIGNAL ve SLOT'lar kullanılmaktadır. SIGNAL bir durum oluştuğundan yayılmaya başlar.SLOT da SIGNAL çağrılarına cevap veren fonksiyonlardır. SIGNAL-SLOT meknizması type-safe'dir.SIGNAL'ın imzası SLOT'un imzası ile eşleşmelidir.Bu konuda derleyici eşleşmeyen imzaları tespit ederek bize yardım etmektedir.Qt widgetlarında bir çok tanımlanmış SIGNAL ve SLOT mevcuttur.Gerektiğinde programcıda kendi SIGNAL ve SLOT'unu yazabilektedir.SIGNAL ve SLOT'lar bir birleri ile QObject sınıfının connect methodu kullanılarak ilişkilendirilir.&lt;br /&gt;&lt;br /&gt;Şimdi SIGNAL ve SLOT'u basit bir örnekle daha iyi anlmaya çalışalım. Yapıcağımız örnekte 2 tane widget ve bu widgetların hazır SIGNAL ve SLOT'larını kullanacağız. Yazacağımız program şöyle olacak 1 tane QLabel ve 1 tanede QPushButton nesnesi oluşturacağız. Program şu işi yapacak; QPushButton nesnesine tıklandığında bu nesne sinyal yaymaya başlıyacak ve QLabel nesnesi bu sinyali alıp kendinin kapatma slotunu çalıştıracak ve QLabel nesnesi kapanacak. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qBzVbhA0Tmk/S9QAlGlaEgI/AAAAAAAAALo/jUJu1LZfqgU/s1600/ab3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 291px;" src="http://1.bp.blogspot.com/_qBzVbhA0Tmk/S9QAlGlaEgI/AAAAAAAAALo/jUJu1LZfqgU/s400/ab3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5463992885329924610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;QtGui&amp;gt; &lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;    QApplication a(argc, argv);&lt;br /&gt;&lt;br /&gt;    QPushButton nesne1("QPushButton");&lt;br /&gt;    QLabel nesne2("QLabel");&lt;br /&gt;&lt;br /&gt;    QObject::connect(&amp;nesne1,SIGNAL(clicked()),&amp;nesne2,SLOT(close()));&lt;br /&gt;&lt;br /&gt;    nesne1.show();&lt;br /&gt;    nesne2.show();&lt;br /&gt;&lt;br /&gt;    return a.exec();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-5071628951686751790?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/5071628951686751790/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/04/arayuz-programlamabolum-3signal-ve-slot.html#comment-form' title='6 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/5071628951686751790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/5071628951686751790'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/04/arayuz-programlamabolum-3signal-ve-slot.html' title='Arayüz Programlama::Bölüm 3:&quot;SIGNAL ve SLOT&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qBzVbhA0Tmk/S9QAlGlaEgI/AAAAAAAAALo/jUJu1LZfqgU/s72-c/ab3.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-6537402864038131501</id><published>2010-04-24T16:30:00.000+03:00</published><updated>2010-04-24T16:37:21.982+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arayüz Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt Sınıfları'/><title type='text'>Arayüz Programlama::Bölüm 2:"QWidget ve Layout kavramı"</title><content type='html'>Bu bölümde QWidget ve Layout kavramını ele alacağız. Qt'daki tüm arayüz sınıfları QWidget'tan türetilmiştir. Yani QWidget'a  Qt arayüz sınıflarının atasıdır diyebiliriz.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qBzVbhA0Tmk/S9LytN7nELI/AAAAAAAAAKw/y-26TpWsRu4/s1600/qtYapisi.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 139px;" src="http://4.bp.blogspot.com/_qBzVbhA0Tmk/S9LytN7nELI/AAAAAAAAAKw/y-26TpWsRu4/s400/qtYapisi.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5463696156601553074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;QWidget mouse, klavye ve diğer input değişkenlerinden gelen bilgileri toplar ve istenen görüntüyü ekrana çizer.Tüm widgetlar kare şeklindedir.Bir widget diğer bir widgetın içine gömülebilir eğer gömülmezse pencere oluşturur.Genelde pencere bir çerçeve ve başlık çubuğundan oluşur.Pencere olarak sadece QWidget kullanılabileceği gibi Qt'de bulunan QMainWindow ve QDialog gibi (alt sınıf) hazır pencereler de kullanılabilir. Bu bölümde de sadece QWidget kullanarak bir pencere oluşturacağız.&lt;br /&gt;&lt;br /&gt;Bir widgetın diğer bir widgeta gömülebilebileceğini söylemiştim. Bu göme işlemleri layoutlar kullanılarak yapılabilmektedir.Layout sınıfları widgetları görsel olarak düzenlemeye yarayan sınıflardır.&lt;br /&gt;&lt;br /&gt;Şimdi yazacağımız programın yapısını görsel olarak inceleyelim.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qBzVbhA0Tmk/S9LzBhCUmWI/AAAAAAAAAK4/dlSLleOEdYw/s1600/ab2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 219px;" src="http://3.bp.blogspot.com/_qBzVbhA0Tmk/S9LzBhCUmWI/AAAAAAAAAK4/dlSLleOEdYw/s400/ab2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5463696505327360354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Şimdi de programın nasıl yazılabileceğine bakalım.&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;QtGui&amp;gt; &lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;    QApplication a(argc, argv);&lt;br /&gt;&lt;br /&gt;    QWidget pencere;&lt;br /&gt;&lt;br /&gt;    pencere.setWindowTitle("Merhaba Qt");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    QLabel etiket("QLabel");&lt;br /&gt;    QPushButton dugme("QPushButton");&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    QGridLayout izgara;&lt;br /&gt;&lt;br /&gt;    izgara.addWidget(&amp;etiket,0,0);&lt;br /&gt;    izgara.addWidget(&amp;dugme,0,1);&lt;br /&gt;&lt;br /&gt;    pencere.setLayout(&amp;izgara);&lt;br /&gt;&lt;br /&gt;    pencere.show();&lt;br /&gt;&lt;br /&gt;    return a.exec();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Burda layout olarak Grid (ızgara) layoutunu kullandık. Bu layoutda widgetler satır ve sütunlara yerleştirilmektedir. Yerleştirme işlemi addWidget methodu kullanılarak yapılabilmektedir.&lt;br /&gt;&lt;br /&gt;addWidget(widget adresi,satır,sütun)&lt;br /&gt;&lt;br /&gt;Yerleştirme yapılırken dikkat edilmesi gereken husuz satır ve sütunlar 0 dan  başlamaktadır. Programı çalıştırdığınızda şöyle bir ekranla karşılacaksınız.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qBzVbhA0Tmk/S9Lz_5jHaFI/AAAAAAAAALI/1EtdfSpyBlU/s1600/ab3Window.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 219px; height: 76px;" src="http://3.bp.blogspot.com/_qBzVbhA0Tmk/S9Lz_5jHaFI/AAAAAAAAALI/1EtdfSpyBlU/s400/ab3Window.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5463697577059248210" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-6537402864038131501?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/6537402864038131501/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/04/arayuz-programlamabolum-2qwidget-ve.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/6537402864038131501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/6537402864038131501'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/04/arayuz-programlamabolum-2qwidget-ve.html' title='Arayüz Programlama::Bölüm 2:&quot;QWidget ve Layout kavramı&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qBzVbhA0Tmk/S9LytN7nELI/AAAAAAAAAKw/y-26TpWsRu4/s72-c/qtYapisi.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-3369042660351805004</id><published>2010-03-30T22:45:00.000+03:00</published><updated>2010-03-30T23:21:36.184+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arayüz Programlama'/><title type='text'>Arayüz Programlama::Bölüm 1:"Merhaba QT GUI"</title><content type='html'>Daha önceki yazılarımı incelediyseniz yazdığım Qt programlarının hepsi konsol uygulamara yönelikti. Artık Qt ile &lt;br /&gt;belli bir seviyeye geldiğimizi düşünüyorum. Bundan sonra konsol uygulamalar ile birlikte her zaman olduğu gibi basit kodlarla Qt GUI &lt;br /&gt; ile ilgili örnekler yapacağım. Daha önce yazdığımız konsol programlarla basit bir notpad'i yapabileceğimiz düşüncesindeyim tek yapmamız gereken bir arayüz hazırlamak o kadar.&lt;br /&gt;Bu yüzden ilk hedefim Qt ile basit bir notpad uygulaması yazmak olacak. Şimdi yavaş yavaş notpad'i yapmak için kullanacağımız araç gereci öğrenmeye başlayalım.&lt;br /&gt;&lt;br /&gt;İşe geleneksel "Merhaba" programı ile başlayalım.&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;// GUI programlada uygulama kontrol akışlarını ve ana ayarların yönetildiği sınıf&lt;br /&gt;#include &amp;lt;QApplication&amp;gt; &lt;br /&gt;#include &amp;lt;QLabel&amp;gt; // Etiket&lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;    QApplication a(argc, argv); //QApplication nesnemizi oluşturuyoruz.&lt;br /&gt;&lt;br /&gt;    QLabel etiket("Merhaba Qt GUI"); //QLabel nesnemizi oluşturuyoruz&lt;br /&gt;&lt;br /&gt;    etiket.show();//etiket adlı nesnemize gösterme koyuyoruz&lt;br /&gt; &lt;br /&gt;    return a.exec();// Burda da QApplication nesnemizi çalıştırıyoruz. &lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Programı derleyip çalıştırdığınızda şöyle bir programla karşılaşacaksınız.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qBzVbhA0Tmk/S7JauJUR0wI/AAAAAAAAAKk/b1UAb8vbvFQ/s1600/merhaba.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 201px; height: 61px;" src="http://2.bp.blogspot.com/_qBzVbhA0Tmk/S7JauJUR0wI/AAAAAAAAAKk/b1UAb8vbvFQ/s400/merhaba.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454521847520547586" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Detaylı QApplication bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qapplication.html"&gt;http://doc.trolltech.com/4.5/qapplication.html&lt;/a&gt;&lt;br /&gt;Detaylı QLabel bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qlabel.html"&gt;http://doc.trolltech.com/4.5/qlabel.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-3369042660351805004?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/3369042660351805004/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/arayuz-programlamabolum-1merhaba-qt-gui.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/3369042660351805004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/3369042660351805004'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/arayuz-programlamabolum-1merhaba-qt-gui.html' title='Arayüz Programlama::Bölüm 1:&quot;Merhaba QT GUI&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qBzVbhA0Tmk/S7JauJUR0wI/AAAAAAAAAKk/b1UAb8vbvFQ/s72-c/merhaba.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-1837722763117468199</id><published>2010-03-30T19:50:00.000+03:00</published><updated>2010-03-30T19:51:33.421+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konsol Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt Sınıfları'/><title type='text'>Konsol Programlama::Bölüm 7:"QDir ile belirtilen dizinin içeriğini görme"</title><content type='html'>Basit  konsol programlama 6. bölümde QFile ile basit olarak bir dosyaya nasıl yazılır ve okunur &lt;br /&gt;öğrendik. Şimdi QDir ile dizin işlemleri nasıl yapılır bunlara göz atalım. Bu programımıda bizim belirtiğimiz bir dizinin içeriğini ekrana basacağız. Programın kodları şu şekilde.&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;QDir&amp;gt;&lt;br /&gt;#include &amp;lt;QTextStream&amp;gt;&lt;br /&gt;#include &amp;lt;QStringList&amp;gt;&lt;br /&gt;&lt;br /&gt;QTextStream yaz(stdout,QIODevice::WriteOnly);&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;     QDir dizin; //QDir nesnemizi oluşturduk.&lt;br /&gt;&lt;br /&gt;     //nesnemisin yolunu belirledik.Bu kısmı windows kullananlar c: yapabilirler&lt;br /&gt;     dizin.setPath("/");&lt;br /&gt;&lt;br /&gt;     //Toplam dizin sayısını yazdırıyoruz&lt;br /&gt;     yaz &lt;&lt; "Toplam " &lt;&lt; dizin.count() &lt;&lt; " dizin var. Bunlar:" &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;     //Qdir nesnemizin entryList() methodunu çağırarak dizin&lt;br /&gt;     //isimlerimizi QStringListIterator nesnemize yerleştiriyoruz&lt;br /&gt;     QStringListIterator iter (dizin.entryList());&lt;br /&gt;     &lt;br /&gt;     //Dizim isimlerini ekrana basıyoruz&lt;br /&gt;     while(iter.hasNext())&lt;br /&gt;       yaz &lt;&lt; iter.next() &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;      return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Programı çalıştıranlar Linux kullanıyorlarsa şu şekilde bir çıktı alacaklar&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Toplam 20 dizin var. Bunlar:                     &lt;br /&gt;.                                                &lt;br /&gt;..                                               &lt;br /&gt;bin&lt;br /&gt;boot&lt;br /&gt;dev&lt;br /&gt;etc&lt;br /&gt;home&lt;br /&gt;lib&lt;br /&gt;lost+found&lt;br /&gt;media&lt;br /&gt;mnt&lt;br /&gt;opt&lt;br /&gt;proc&lt;br /&gt;root&lt;br /&gt;sbin&lt;br /&gt;swap&lt;br /&gt;sys&lt;br /&gt;tmp&lt;br /&gt;usr&lt;br /&gt;var&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Detaylı QDir bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qdir.html"&gt;http://doc.trolltech.com/4.5/qdir.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-1837722763117468199?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/1837722763117468199/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-7qdir-ile.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/1837722763117468199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/1837722763117468199'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-7qdir-ile.html' title='Konsol Programlama::Bölüm 7:&quot;QDir ile belirtilen dizinin içeriğini görme&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-1742604062538606469</id><published>2010-03-29T21:41:00.001+03:00</published><updated>2010-03-29T23:34:50.846+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><title type='text'>Eclipse ve Qt</title><content type='html'>Sözü fazla uzatmayacağım. Daha önce Qt projelerimi Qt Creator'da geliştirdiğimi söylemiştim. Eğer siz Qt Creator bana göre değil&lt;br /&gt;ben Eclipse'ciyim diyorsanız Eclipse'nizden vazgeçmenize gerek yok. Plugin mantığı ile çalışan Eclipse bir plugin de Qt geliştirmiş.&lt;br /&gt;Böylece Eclipse içerisinde Qt dizaynları kolayca hazırlayabileceksiniz.&lt;br /&gt;Öncelikle &lt;a href="http://qt.nokia.com/developer/eclipse-integration "&gt;http://qt.nokia.com/developer/eclipse-integration &lt;/a&gt;bu adresten size uygun olan Eclipse pluginini seçin. Ben Pardus 2009.1 kullandığım için Linux (x86 32 bit)&lt;br /&gt;sürümü için olanın indiriyorum.&lt;br /&gt;Daha sonra windows kullanıyorsanız exe dosyasını çalıştırın eğer benim gibi Linux kullanıyorsanız indirdiğiniz sıkıştırılmış dosyayı açın ve içerisinden çıkan klasörü&lt;br /&gt;sistemde Eclipse'in bulunduğu dizine kopyalayın. Pardus'ta bu dizin /opt de bulunuyor. Tüm bu işlemleri bitirdiğinizde artık Eclipse'niz Qt'lu olacaktır. Afiyetle kullanın.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qBzVbhA0Tmk/S7EOzeUGd5I/AAAAAAAAAKc/j5OEAZ4HZhQ/s1600/eclipseqt.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 236px;" src="http://3.bp.blogspot.com/_qBzVbhA0Tmk/S7EOzeUGd5I/AAAAAAAAAKc/j5OEAZ4HZhQ/s400/eclipseqt.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454156901195872146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not: Bu arada benim gibi sizde Netbeans'ciyseniz Netbeans 7'den itibaren bizler de Qt formlarımızı Netbeans ile geliştirebiliceğiz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-1742604062538606469?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/1742604062538606469/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/eclipse-ve-qt.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/1742604062538606469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/1742604062538606469'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/eclipse-ve-qt.html' title='Eclipse ve Qt'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qBzVbhA0Tmk/S7EOzeUGd5I/AAAAAAAAAKc/j5OEAZ4HZhQ/s72-c/eclipseqt.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-6671100409319963710</id><published>2010-03-22T11:30:00.000+02:00</published><updated>2010-03-22T11:32:46.334+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konsol Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt Sınıfları'/><title type='text'>Konsol Pogramlama::Bölüm 6:"QFile ile text dosyasını okumak"</title><content type='html'>Bu yazıda Qt ile bir text dosyası nasıl okunur onu öğreneceğiz.&lt;br /&gt;Yazacağımız programın mantığı Konsol Programlama::Bölüm 5'de anlatılan matıkla aynı.&lt;br /&gt;&lt;br /&gt;Şimdi de programımıza göz atalım&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;#60;QTextStream&amp;#62;&lt;br /&gt;#include &amp;#60;QString&amp;#62;&lt;br /&gt;#include &amp;#60;QFile&amp;#62; // Dosya işlemleri için kullanacağımız kütüphane&lt;br /&gt;&lt;br /&gt;QTextStream yaz(stdout,QIODevice::WriteOnly);&lt;br /&gt;QTextStream oku(stdin, QIODevice::ReadOnly);&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    QString yazilacak="Merhaba \nbu \nQFile \nile \nikinci \nProgramım";&lt;br /&gt;&lt;br /&gt;    QFile dosya("metin.txt"); //Dosyaya adını giriyoruz&lt;br /&gt;&lt;br /&gt;    dosya.open(QIODevice::WriteOnly); //Dosyayı yazma modunda açıyoruz.&lt;br /&gt;                                      //Bu modda programı her çalıştırdığımızda dosya&lt;br /&gt;                                      //baştan oluşturucaktır&lt;br /&gt;&lt;br /&gt;    QTextStream dosyaIO(&amp;dosya);//input output işlemi için QTextStream'i kullanacağız&lt;br /&gt;                                 //bu yüzden QTextStream nesnemize dosya'nın adresini giriyoruz.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    dosyaIO &lt;&lt; yazilacak; //Burada dosyaya yazdırıyoruz&lt;br /&gt;&lt;br /&gt;    dosya.close(); //Dosyayı kapatıyoruz.(Açılan her dosya kapatılmalıdır.)&lt;br /&gt;&lt;br /&gt;    dosya.open(QIODevice::ReadOnly); //Yazdırdığımız dosyayı okuma modunda tekrar açıyoruz&lt;br /&gt;&lt;br /&gt;    while(!dosyaIO.atEnd()) //Dosyayının sonuna gelene kadar döndür.&lt;br /&gt;    {&lt;br /&gt;        yaz &lt;&lt; dosyaIO.readLine() &lt;&lt; endl; //Okuduğunan satırı dosyaya yazdır.&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    dosya.close(); //Dosyayı kapatıyoruz.&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Programı çalıştırdığınızda aşağıdaki sonucu elde edeceksiniz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Merhaba&lt;br /&gt;bu&lt;br /&gt;QFile&lt;br /&gt;ile&lt;br /&gt;ikinci&lt;br /&gt;Programm&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Detaylı QFile bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qfile.html"&gt;http://doc.trolltech.com/4.5/qfile.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-6671100409319963710?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/6671100409319963710/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-pogramlamabolum-6qfile-ile-text.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/6671100409319963710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/6671100409319963710'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-pogramlamabolum-6qfile-ile-text.html' title='Konsol Pogramlama::Bölüm 6:&quot;QFile ile text dosyasını okumak&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-9103067172622531668</id><published>2010-03-20T17:39:00.000+02:00</published><updated>2010-03-20T19:19:51.765+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konsol Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt Sınıfları'/><title type='text'>Konsol Pogramlama::Bölüm 5:"QFile ile text dosyasına yazma"</title><content type='html'>Qt'da dosya okuma yazma işlemleri QFile sınıfını kullanarak yapılır. Bu yazıda Qt ile bir text dosyası nasıl oluşturulur onu öğreneceğiz.&lt;br /&gt;Yazacağımız programın mantığı şu şekilde olacak;&lt;br /&gt;&lt;br /&gt;1-)Dosya tanımlanacak&lt;br /&gt;2-)Dosya açılış şekli belirtilerek açılacak. (okuma, yazma, okuma-yazma gibi  biz bu programda sadece yazma kullanacağız)&lt;br /&gt;3-)Dosya giriş çıkış işlemleri için bir nesne oluşturulacak. (Bu nesne text üzerinde çalışacağımız içim QTextStream olacak)&lt;br /&gt;4-)Klavyeden gelen metin dosyaya yazdırılacak.&lt;br /&gt;5-)Dosya kapatılacak.&lt;br /&gt;&lt;br /&gt;Şimdi de programımıza göz atalım&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;#60;QTextStream&amp;#62;&lt;br /&gt;#include &amp;#60;QString&amp;#62;&lt;br /&gt;#include &amp;#60;QFile&amp;#62; // Dosya işlemleri için kullanacağımız kütüphane&lt;br /&gt;&lt;br /&gt;QTextStream yaz(stdout,QIODevice::WriteOnly);&lt;br /&gt;QTextStream oku(stdin, QIODevice::ReadOnly);&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    QString yazilacak;&lt;br /&gt;&lt;br /&gt;    QFile dosya("metin.txt"); //Dosyaya adını giriyoruz&lt;br /&gt;&lt;br /&gt;    dosya.open(QIODevice::WriteOnly); //Dosyayı yazma modunda açıyoruz.&lt;br /&gt;                                      //Bu modda programı her çalıştırdığımızda dosya&lt;br /&gt;                                      //baştan oluşturucaktır&lt;br /&gt;&lt;br /&gt;    QTextStream dosyaYaz(&amp;dosya);//input output işlemi için QTextStream'i kullanacağız&lt;br /&gt;                                 //bu yüzden QTextStream nesnemize dosya'nın adresini giriyoruz.&lt;br /&gt;&lt;br /&gt;    yaz &lt;&lt; "Dosya yazmak istediginizi girin" &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;    yazilacak=oku.readLine();//klavyeden girilen yazıyı okuyoruz&lt;br /&gt;&lt;br /&gt;    dosyaYaz &lt;&lt; yazilacak; //Burada dosyaya yazdırıyoruz&lt;br /&gt;&lt;br /&gt;    dosya.close(); //Dosyayı kapatıyoruz.(Açılan her dosya kapatılmalıdır.)&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Programı çalıştırdığınızda aşağıdaki sonucu elde edeceksiniz&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Dosya yazmak istediginizi girin&lt;br /&gt;Merhaba QFile&lt;br /&gt;Merhaba QFile&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Aynı zamanda programı çalıştırdığınız dizine baktığınızda "metin.txt" adlı bir dosya oluştuğunu göreceksiniz.Bu dosyanın içini açtığınızda da "Merhaba QFile" yazı sizi bekliyor olacak.&lt;br /&gt;&lt;br /&gt;Detaylı QFile bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qfile.html"&gt;http://doc.trolltech.com/4.5/qfile.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-9103067172622531668?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/9103067172622531668/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-pogramlamabolum-5qfile-ile-text.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/9103067172622531668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/9103067172622531668'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-pogramlamabolum-5qfile-ile-text.html' title='Konsol Pogramlama::Bölüm 5:&quot;QFile ile text dosyasına yazma&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-5547097149176074937</id><published>2010-03-17T14:11:00.000+02:00</published><updated>2010-03-17T15:06:31.676+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konsol Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt Sınıfları'/><title type='text'>Konsol Programlama::Bölüm 4:"QTextStream ile konsol giriş çıkışı"</title><content type='html'>Stream'ler okuma ve yazma yapabilmek için kullanılan nesnelerdir.Standart C++'da bu işlemleri &lt;br /&gt;yapabilmek için &lt; iostream &gt; kütüphanesi kullanılmaktadır. Qt'da bu kütüphanenin karşılığı &lt;br /&gt;QTextStream kütüphanesidir.&lt;br /&gt;&lt;br /&gt;iostream'de 3 tane global stream tanımlıdır&lt;br /&gt;1-)cin : standart input(klavye)&lt;br /&gt;2-)cout: standart output(konsol ekranı)&lt;br /&gt;3-)cerr: stadnart hata-error (konsol ekranı)&lt;br /&gt;&lt;br /&gt;QTextStream'i nesnelerini tanımladıktan sonra kullanım şekli C++'ın standart giriş, çıkış nesneleri ile aynıdır.&lt;br /&gt;QTextStream nesneleri, QTextStream nesne_adı(stream yapılacak yer, kullanım türü) şeklindedir. Buna göre&lt;br /&gt;standart C++ giriş çıkışlarına tam karşılık düşen nesnelerin tanımlanması şu şekildedir.&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;QTextStream cin(stdin, QIODevice::ReadOnly); // stdin klavye girişi, kullanım türü sadece okuma&lt;br /&gt;QTextStream cout(stdout, QIODevice::WriteOnly);//stdout konsol çıkışı, kullanım türü sadece yazma&lt;br /&gt;QTextStream cerr(stderr, QIODevice::WriteOnly);//stderr konsol çıkışı, kullanım türü sadece yazma&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Qt ile konsol programlamada konsol giriş çıkışı için iostream kütüphanesi yerine QTextStream kütüphanesi kullanmamızın nedeni Qt değişkenlerinin (QString gibi) QTextStream çok rahat kullanılabilmesidir.&lt;br /&gt;&lt;br /&gt;Örnek vermek gerekirse&lt;br /&gt;&lt;br /&gt;iostream kütüphanesini kullansaydık şöyle olacaktı&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;QString a = "iostream kullanıyorum";&lt;br /&gt;cout &lt;&lt; a.toAscii().constData(); // Bir QString'i yazdırmak için 2 tane fonksiyon çağırmak zorunda&lt;br /&gt;                                 // kaldık ancak QTextStream'de böyle fonksiyon çağırmaya gerek yok.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Detaylı QTextStream bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qtextstream.html"&gt;http://doc.trolltech.com/4.5/qtextstream.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-5547097149176074937?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/5547097149176074937/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-4qtextstream.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/5547097149176074937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/5547097149176074937'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-4qtextstream.html' title='Konsol Programlama::Bölüm 4:&quot;QTextStream ile konsol giriş çıkışı&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-4376561796432824503</id><published>2010-03-15T20:11:00.000+02:00</published><updated>2010-03-15T20:54:41.887+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konsol Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt Sınıfları'/><title type='text'>Konsol Programlama::Bölüm 3: "Basit QMap uygulaması"</title><content type='html'>QMap bir şablon sınıfıdır. Atlamalı liste tabanlı bir sözlük oluşturmamızı sağlar.QMap Qt frameworkünde kullanılan genel bir konteyner sınıftır. QMap'de  veriler &lt; Anahtar,Veri &gt; şeklindedir ve QMap anahtarlar üzerinden hızlıca veriye ulaşmamızı sağlar.QMap'in performans bakımından gelişmiş hali QHash'dir. Ancak ona sonra değineceğiz.&lt;br /&gt;&lt;br /&gt;Şimdi programımıza bir göz atalım&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;#60;QTextStream&amp;#62;&lt;br /&gt;#include &amp;#60;QString&amp;#62;&lt;br /&gt;#include &amp;#60;QMap&amp;#62;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*Tüm fonksiyonların kullanabilmesi için&lt;br /&gt;  yaz ve oku nesnelerini global yapıyorum.&lt;br /&gt;  */&lt;br /&gt;&lt;br /&gt;QTextStream yaz(stdout), oku(stdin);&lt;br /&gt;//oku nesnesi klavyeden gelen (stdin) girişi almaktadır.&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    QMap&amp;#60;QString,QString&amp;#62; kullanicilar; //kullanicilar adındaki &lt; QString,QString &gt;&lt;br /&gt;                                        // formatindaki QMap nesnemizi tanımladık&lt;br /&gt;&lt;br /&gt;    //Kullanıcı adı anahtar, sifrede veri olacak.&lt;br /&gt;    kullanicilar.insert("Cengiz","abc111"); // Değerleri giriyoruz&lt;br /&gt;    kullanicilar.insert("Burak","abc123");&lt;br /&gt;    kullanicilar["Ali"]="123abc"; // Değerleri bu şekilde de girebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    QString kullaniciAdi;&lt;br /&gt;    QString sifre;&lt;br /&gt;&lt;br /&gt;    yaz &lt;&lt; "Kullanici adini girin:" &lt;&lt; endl;&lt;br /&gt;    oku &gt;&gt; kullaniciAdi;&lt;br /&gt;    yaz &lt;&lt; "Sifrenizi girin:" &lt;&lt; endl;&lt;br /&gt;    oku &gt;&gt; sifre;&lt;br /&gt;&lt;br /&gt;    if(sifre.length()&lt;5) // girlen şifrenin karakter sayısı kontrol ediliyor&lt;br /&gt;    {&lt;br /&gt;        yaz &lt;&lt; "Sifre 5 karakterden kucuk olamaz" &lt;&lt; endl;&lt;br /&gt;        return 0;// programdan çık&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if(kullanicilar.contains(kullaniciAdi)) // girilen isimde kullanıcı var mı kontrol ediliyor.&lt;br /&gt;    {&lt;br /&gt;        if(kullanicilar.value(kullaniciAdi)==sifre) // şifrenin doğruluğu kontrol ediliyor&lt;br /&gt;        {&lt;br /&gt;            QString dolgu; // Süsleme işlerinde kullanacağız&lt;br /&gt;            yaz &lt;&lt; "Hosgeldiniz.\nSistemde kayitli olan kullanicilar ve sifreleri:\n" &lt;&lt; endl;&lt;br /&gt;           &lt;br /&gt;            // STL tipi bir iterator tanımladık&lt;br /&gt;            // ve kullanicilar nesnemizin ilk elemanını işaret ettik&lt;br /&gt;            QMap&amp;#60;QString, QString&amp;#62;::const_iterator i = kullanicilar.constBegin();&lt;br /&gt;           &lt;br /&gt;            //QString'in bize sağladığı fonksiyonları kullanarak süslü bir başlık oluşturuyoruz&lt;br /&gt;            yaz &lt;&lt; QString("Kullanici Adi").rightJustified(15,' ')+" | "+&lt;br /&gt;                                 QString("Sifre").rightJustified(15,' ') &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;            yaz &lt;&lt; dolgu.fill('-',15)+" | "+dolgu.fill('-',15) &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;            //kullanicilar nesnemizdeki verileri listeliyoruz.&lt;br /&gt;            while (i != kullanicilar.constEnd())&lt;br /&gt;            {&lt;br /&gt;                yaz &lt;&lt; i.key().rightJustified(15,' ') + " | " +&lt;br /&gt;                               i.value().rightJustified(15,' ') &lt;&lt; endl;&lt;br /&gt;                ++i;&lt;br /&gt;            }&lt;br /&gt;            yaz &lt;&lt; endl;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            yaz &lt;&lt; "Hatali sifre" &lt;&lt; endl;&lt;br /&gt;            return 0; // programdan çık&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;        yaz&lt;&lt; "Boyle bir kullanici yok" &lt;&lt; endl;&lt;br /&gt;        return 0; // programdan çık&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    return 0; // programdan çık&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Burada dikkat ettiyseniz QString nesnelerinde == operatörü ile büyük küçük harfe duyarlı karşılaştırma yapabiliyoruz.&lt;br /&gt;&lt;br /&gt;QMap::key() fonksiyonu bize anahtarı, QMap::value() fonksiyonu da bize veriyi döndürmektedir. Bu fonksiyonları key(veri) -&gt; anahtar, value(anahtar) -&gt; veri şeklinde de kullanabiliriz.&lt;br /&gt;&lt;br /&gt;Program çalıştığında elde edeceğimiz sonuç şu şekide olacaktır.&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Kullanici adini girin:                             &lt;br /&gt;Burak                                              &lt;br /&gt;Sifrenizi girin:                                   &lt;br /&gt;abc123                                             &lt;br /&gt;Hosgeldiniz.&lt;br /&gt;Sistemde kayitli olan kullanicilar ve sifreleri:&lt;br /&gt;&lt;br /&gt;  Kullanici Adi |           Sifre&lt;br /&gt;--------------- | ---------------&lt;br /&gt;            Ali |          123abc&lt;br /&gt;          Burak |          abc123&lt;br /&gt;         Cengiz |          abc111&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Burada anahtarların sıralı bir şekilde geldiğini rahat bir şekilde görüyoruz.&lt;br /&gt;&lt;br /&gt;Detaylı QMap bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qmap.html"&gt;http://doc.trolltech.com/4.5/qmap.html&lt;/a&gt;&lt;br /&gt;Detaylı QString bilgisi için: &lt;a href="http://doc.trolltech.com/4.5/qstring.html"&gt;http://doc.trolltech.com/4.5/qstring.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-4376561796432824503?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/4376561796432824503/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-3basit-qmap.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/4376561796432824503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/4376561796432824503'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-3basit-qmap.html' title='Konsol Programlama::Bölüm 3: &quot;Basit QMap uygulaması&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-5340799493523190351</id><published>2010-03-15T00:20:00.000+02:00</published><updated>2010-03-15T20:42:37.837+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konsol Programlama'/><title type='text'>Konsol Programlama::Bölüm 2: "İki sayının toplamı"</title><content type='html'>Bu programda klavyeden girilen iki sayı toplayıp sonucu ekrana yazdıracağız. Öncelikle Qt-Creator'dan bir “Qt 4 Console Application” açıyoruz. Ben Pardus işletim sistemini kullanmaktayım. Pisi paket yöneticisinden kurduğum Qt-Creator varsayılan olarak “xterm” uç birimini kullanmakta. Bunu Kde'nin varsayılan uç birim aracı “Konsole” ile değiştirmeye çalıştım ancak başarılı olamadım. İnternette yaptığım araştırma sonucunda da Qt-Creator ile Konsole'un birlikte çalışamadığını öğrendim. Bu yüzden başka bir çözüm bulana kadar xterm ile idare edeceğiz. Eğer sisteminizde xterm yüklü değilse Pardus kullanıcıları programı şu şekilde sistemlerine kurabilirler&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$sudo pisi it xterm&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Eğer Qt-Creator'da konsol projesini açtıysanız şimdi yazdığımız programı xterm ile çalıştırabilmemiz için küçük bir ayar yapmamız gerekiyor. &lt;span style="font-weight:bold;"&gt;Projects-&gt;Run Settings&lt;/span&gt; bölümüne gelin buradaki &lt;span style="font-weight:bold;"&gt;Run in a Terminal&lt;/span&gt;'li işaretleyin hepsi bu kadar.&lt;br /&gt;&lt;br /&gt;Sıra programımızı yazmaya geldi.&lt;br /&gt;&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;#60;QTextStream&amp;#62;&lt;br /&gt;&lt;br /&gt;/*Tüm fonksiyonların kullanabilmesi için&lt;br /&gt;  yaz ve oku nesnelerini global yapıyorum.&lt;br /&gt;  */&lt;br /&gt;&lt;br /&gt;QTextStream yaz(stdout), oku(stdin);&lt;br /&gt;//oku nesnesi klavyeden gelen (stdin) girişi almaktadır.&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    qint16 sayi1; //qint16 tüm platformlarda&lt;br /&gt;    qint16 sayi2; //16 bitlik (2 byte) interger alanını&lt;br /&gt;    qint16 sonuc; //bize garanti eder.&lt;br /&gt;&lt;br /&gt;    yaz &lt;&lt; "1. Sayiyi girin" &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;    oku &gt;&gt; sayi1; //klavyeden gelen değeri sayi1'e yaz&lt;br /&gt;&lt;br /&gt;    yaz &lt;&lt; "2. Sayiyi girin" &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;    oku &gt;&gt; sayi2; //klavyeden gelen değeri sayi2'e yaz&lt;br /&gt;&lt;br /&gt;    sonuc = sayi1 + sayi2;&lt;br /&gt;&lt;br /&gt;    yaz &lt;&lt; "iki sayinin toplami = " &lt;&lt; sonuc &lt;&lt; endl;&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Program çıktısı şu şekilde olacak:&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;1. Sayisi girin:&lt;br /&gt;12&lt;br /&gt;2. Sayiyi girin:&lt;br /&gt;13&lt;br /&gt;iki sayinin toplami = 25&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Not: Eğer biraz kurcaladıysanız xterm'de türkçe karakter sorunun olduğunu fark etmişsinizdir. Bu durumun çözümünü internette araştırıyorum. Eğer siz benden önce bulursanız lütfen bana da haber verin :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-5340799493523190351?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/5340799493523190351/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-2-iki-saynn.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/5340799493523190351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/5340799493523190351'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-2-iki-saynn.html' title='Konsol Programlama::Bölüm 2: &quot;İki sayının toplamı&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-296645497983381208</id><published>2010-03-14T16:37:00.000+02:00</published><updated>2010-03-15T20:54:27.638+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Konsol Programlama'/><title type='text'>Konsol Programlama::Bölüm 1: " Merhaba Dünya"</title><content type='html'>Şimdi bir programlama dilini öğrenmek isteyen herkesin ilk olarak yazdığı programı yazacağız.&lt;br /&gt;&lt;br /&gt;Öncelikle bu programın sadece C++ kullanarak nasıl yazılacağına bakalım.&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &lt;&amp;#60;iostream&amp;#62;&lt;br /&gt;#include &amp;#60;string&amp;#62;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;  string s;&lt;br /&gt;  &lt;br /&gt;  s="Merhaba Merhaba";&lt;br /&gt;  &lt;br /&gt;  cout &lt;&lt; s &lt;&lt; endl;&lt;br /&gt;  &lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Şimdi de bu işlemi Qt framework kullanarak yapalım. Öncelikle Qt-Creator'la Qt 4 Console Applicaton açalım. Sonra açılan main.cpp dosyasına aşağıdaki kodu yazalım.&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;#60;QTextStream&amp;#62; // Ekrana yazı basmak için kullanacağız&lt;br /&gt;#include &amp;#60;QString&amp;#62; //Qt'un string kütüphanesi &lt;br /&gt;&lt;br /&gt;QTextStream  yaz(stdout); // Çıkışı konsol ekranı (stdout) olan &lt;br /&gt;                          // yaz adında QTextStream nesnesi oluşturduk.&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt; QString s ="Merhaba Dünya"; &lt;br /&gt;&lt;br /&gt; yaz &lt;&lt; s+" Bu benim ilk Qt'lu programım" &lt;&lt; endl; // ekrana yazdır.&lt;br /&gt; &lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Qt'da sizinde fark ettiğiniz gibi Qt frameworkünün nesneleri 'Q' ile başlamaktadır. Programı çalıştırdığınızda şu sonucu elde edeceksiniz.&lt;br /&gt;&lt;pre class="kod_blok"&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Merhaba Dünya Bu benim ilk Qt'lu programım&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-296645497983381208?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/296645497983381208/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-1-merhaba-dunya.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/296645497983381208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/296645497983381208'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/konsol-programlamabolum-1-merhaba-dunya.html' title='Konsol Programlama::Bölüm 1: &quot; Merhaba Dünya&quot;'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-7929810878702130588</id><published>2010-03-14T13:57:00.000+02:00</published><updated>2010-03-14T14:03:12.551+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><title type='text'>Qt Creator IDE</title><content type='html'>Qt \ C++ ile program geliştirmek için herhangi bir text editörü yeterlidir ancak hızlı kod geliştirmek için bir IDE (Integrated development environment - Tümleşik geliştirme ortamı ) kullanmak mantıklı olacaktır. Qt \ C++ programlar geliştirmek için piyasada bir çok farklı IDE bulunmaktadır. Ben IDE olarak Nokia'nın geliştirdiği Qt Creator'ı kullanıyorum. Qt Creator'ı  sadeliği ve GUI tasarımında sağladığı kolaylık sebebiyle tercih etmekteyim.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qBzVbhA0Tmk/S5zQDHIfftI/AAAAAAAAAIk/ZVW3dVcaSss/s1600-h/qtcreator.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 236px;" src="http://2.bp.blogspot.com/_qBzVbhA0Tmk/S5zQDHIfftI/AAAAAAAAAIk/ZVW3dVcaSss/s400/qtcreator.png" alt="" id="BLOGGER_PHOTO_ID_5448458401084309202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Qt Creator'un Linux, MacOS  ve  Windows sürümleri mevcut. Qt Creator'u ücretsiz olarak &lt;a href="http://qt.nokia.com/downloads"&gt;http://qt.nokia.com/downloads&lt;/a&gt; adresinden indirebilirsiniz.&lt;br /&gt;&lt;br /&gt;Eğer sizde benim gibi Pardus işletim sistemi kullanıyorsanız;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;$sudo pisi it qt-creator&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;komutu ile Qt Creator'u kolayca kurabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-7929810878702130588?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/7929810878702130588/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/qt-creator-ide.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/7929810878702130588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/7929810878702130588'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/qt-creator-ide.html' title='Qt Creator IDE'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qBzVbhA0Tmk/S5zQDHIfftI/AAAAAAAAAIk/ZVW3dVcaSss/s72-c/qtcreator.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8918677980791453036.post-8535892791832484847</id><published>2010-03-14T12:55:00.001+02:00</published><updated>2010-03-14T13:43:28.643+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Qt hakkında'/><title type='text'>Kısaca Qt nedir ?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.smlabs.net/pic/logos/qt-logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 142px; height: 142px;" src="http://www.smlabs.net/pic/logos/qt-logo.png" alt="" border="0" /&gt;&lt;/a&gt;Qt (küut diye okunur) , cross-platform (tüm platformlarda çalışabilen) projeler geliştirmek için kullanılan bir frameworkdür (iskelet) . Genel olarak GUI (Graphic User Interface – Grafiksel Kullanıcı Arayüzü) amaçlı kullanılır ancak terminal programları ve sunucular gibi grafiksel arayüzü olmayan programları geliştirmek için de kullanılabilmektedir.&lt;br /&gt;&lt;br /&gt;Qt, standart C++ programlama dilini kullanmaktadır. Aynı zamanda Qt farklı dillere olan bağlantıları aracılığıyla diğer programlama dilleriyle de kullanılabilmektedir. Qt'un GUI özelliğine ek olarak; SQL veri tabanlarına bağlanabilme, XML çözümleyebilme, Thread (iş parçacığı) yönetimi, network desteği ve tüm platfromlarla bütünleşik dosya işleme API'si (Application Programming Interface -  Yazılım Programlama Arayüzü) gibi özelliklerikleri de vardır.&lt;br /&gt;&lt;br /&gt;Qt Nokia tarafından geliştirilmektedir. Nokia, Qt'u 4.5 sürümünden sonra LGPL ve ticari lisans olmak üzere iki ayrı lisansla dağıtmaktadır.&lt;br /&gt;&lt;br /&gt;Qt'un resmi web sitesi : &lt;a href="http://qt.nokia.com/"&gt;http://qt.nokia.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Qt'un framework'ünü yada SDK'ını indirmek için : &lt;a href="http://qt.nokia.com/downloads"&gt;http://qt.nokia.com/downloads&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8918677980791453036-8535892791832484847?l=mbakturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mbakturk.blogspot.com/feeds/8535892791832484847/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://mbakturk.blogspot.com/2010/03/ksaca-qt-nedir.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/8535892791832484847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8918677980791453036/posts/default/8535892791832484847'/><link rel='alternate' type='text/html' href='http://mbakturk.blogspot.com/2010/03/ksaca-qt-nedir.html' title='Kısaca Qt nedir ?'/><author><name>Mehmet Burak Aktürk</name><uri>http://www.blogger.com/profile/08691844144112787549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_qBzVbhA0Tmk/TDhAfMmp86I/AAAAAAAAAMk/tHZru8B7y5Y/S220/31656_1473236075350_1367116019_1247821_2642984_n.jpg'/></author><thr:total>0</thr:total></entry></feed>
