PyQt 4 İçin Kod Renklendirmeli Tamamlamalı IDE

Bende pyqt’ye başladım ve not defteri gibi basit bir şey üzerinde çalışmayı sevmeyen birisiyim. Bu nedenle bir ide arayşına girdim aralarında en iyi bulduğum eclipse oldu. Tabii eclipse tek başına yetmiyor. Birde pyDev eklentisini yükleyince tadından yenmez oldu.

Öncelikle paket yöneticisinden “eclipse-binary” ve “eclipse-pydev” paketlerini yüklüyoruz. Sonrasında eclipseyi açıp “Window->Preferences” yolunu takip ediyoruz. Şöyle bir ekran geliyor:

Bu pencereden soldaki “PyDev->Interpreter – Python” yoluna giriyoruz. Çıkan yerde “Auto Config” tuşuna basıyoruz sonrasında gelen penceredeki “/usr/lib/pardus”daki tiki kaldırıp onaylıyoruz.

Sonrasında aşağıdaki sekmelerden “Forced Builtins” sekmesine geçiyoruz, “New” diyoruz ve  çıkan pencereye “PyQt4” yazıp onaylıyoruz(tırnaksız!). Sonrasında ok diyiyoruz eclipse yeniden başlatılıyor.

PyDev projesi oluşturmak için ise “File->New->PyDev Project” demeniz yeterli.

Bir iki şey ekleyecek olursam hiç bir ide’de bulunmayan pyqt kod tamalamasını sunuyor. Tabii biraz eksiği var örneğin:

self.[Kod tamamlaması yapılıyor]treeWidget.[Kod tamamlaması yapılıyor]topLevelItem(1).[Burada kod tamamlaması yok]

Çok da büyük bir eksik değil zaten. Kod renklendirmesi de iyi kendiniz bu renkleri ayarlayabiliyorsunuz…

30 Ağustos

Biraz geç oldu farkındayım ama ne yaparsınız işte unutkanlık, buradan 30 Ağustos Zafer Bayramımızı kutluyorum!

Temizlikçi Hakkında

Şurada yazdığım Temizlikçi projesinde sona yaklaştım. Şu an için işler iyi gidiyor, beni 2 gündür oyalayan bir hatayı çözmüş bulunuyorum. “if” deyiminden sonra parantez açmayı unutmuşum doğal olarak sadece ilk satır dikkate alınmış ve dier kodlar hata vermişti, paranteze bakmak da hiç aklıma gelmemişti, neyse ki çözüldü.

Yeni özellikler ekledim şöyle ki; artık bir dosya oluşturup bunu da programa gösterip program desteği ekleyebileceksiniz. Örnek dosya:

[Genel]

Ad=Gimp

Tanım=Grafik Programı

[Seçenekler]

Gereksiz Dosyalar =.gimp-2.6/tmp, *.*   ; Burası yorum satırı, “*.*” ifadesi o klasördeki bütün dosyaların silinmesi demek. “*.tmp” olsaydı sadece tmp dosyaları silinirdi.

Diğer Seçenek=.gimp-2.6/gereksiz dosya.uzantı ;burada tek bir dosyayı silmek için gönderdik.

Birde not düşeyim, buradaki dizinler home dizininde bulunuyor. Zaten bütün uyulamalar gereksiz dosyalarını burada saklıyor. Yani buradaki gimp klasörü aslında şurada: “/home/kullanıcı/.gimp-2.6” ama bu “/home/kullanıcı” bölümünü yazmanıza gerek yok.

Şimdilik böyle yakın zamanda ilk versiyonu çıkaracağım.  Fikirlerinizide buraya yazabilirsiniz.

Taban Sistem Üzerine Xfce

Özgürlükİçin formuna bakınırken bu başlığı farkettim, bu başlığı farkedince doğal olarak bu sayfayada girdim.Sayfada nasıl taban sistem üzerine xfce kurulacağı anlatılıyordu. Bende kde’nin bilgisayarda birçok artık bırakmasını sevmediğim için bu yolla xfce kurmaya karar verdim.

Kurulumu yaptım xfce’yi açtım. Yazılar hiç okunaklı değildi. Ses gelmiyordu tabii bunlarıda bir çözümü vardı. Ses için bütün alsa paketlerini yükledim(gui paketlerini yüklemeyebilirsiniz). Yazılardaki bozukluğuda “dejavu-fonts” yükleyerek hallettim(Ayrıca Xfce ayarlar yöneticisi->Görünüm->Fontlar->Yumuşatmayı etkinleştir->Yumuşatma:Tam yaparak çok daha iyi bir görünüm elde edebilirsiniz.).

Ses geliyor fakat kodekler vs. yüklü değil. Bunun için herhangi bir müzik çaları yüklemeniz yeterli, bağımlılıkları nedeniyle onlarda yükleniyor.

Xfce’yi yüklediğiniz için midori’yi kullanabilirsiniz tarayıcı olarak. Birde “flashplugin” paketini yükleyerek flash player’ı da yüklemiş olursunuz. Tabii firefox veya diğer tarayıcılarıda kullanmak mümkün.

Doğal olarak ofis paketide yok, bunun için “openoffice” paketini kurabilirsiniz. Türkçe olması içinde “openoffice-langpack-tr” paketinide yüklemelisiniz.

Bütün paketleri uçbirimden komutlarla yükledik bu bana yeter diyorsanız böyle uçbirim ile devam edebilirsiniz. Paket yöneticisinide kurmak istiyorum derseniz PyKDE’yi de yüklemeniz gerekiyor, bu ne demek KDE artığı demek, biz kde’den kurtulmaya çalışıyoruz.

Bunun için “gnome-packagekit”i kurabilirsiniz. Paket yöneticisinden bir eksiği yok hatta artıları var diyebilirim.

Birde not düşeyim xfce’yi kurunca Squeeze öntanımlı arşiv yöneticisi olarak geliyor. Fakat kendisini hiç sevmem sorun çıkarıyor, sürükle-bırak yapmıyor. Squeeze’yi kaldırıp Xarchiver‘ı yükleyebilirsiniz, gerçekten çok güzel bir arşiv yöneticisi.

Buda bir masaüstümün görüntüsü(açık olan pencerede gnome-packagkit):

Gezegen

Özgürlükİçin gezenegine inmiş bulunuyorum, hayırlısıysa yerleşeceğiz artık :). Gezegene inerken bir iki ufak aksilik oldu fakat sağolsunlar hemen düzeltildi. Madem gezegene indik, buradan herkese selam gönderiyorum 🙂

Linuxda Programlar

Eğer linux’a yeni geçmiş birisiyseniz hangi program iyidir, hangisini kullanayım sıkıntısına düşersiniz(kendimden biliyorum). Bu yazıda hangisi iyidir sorusuna cevap vereceğim.

Çoklu Ortam

Müzik

Amarok: Tartışmasız en iyisi, ses kalitesi olsun şarkı sözü bulması, vikide sanatçı hakkında bilgi bulması ve daha birçok özelliği ile en iyi müzik oynatıcısı.

Audacious: Biz winamp ile büyükdük diyorsanız winamp’a çok benziyen temalarını kullanabilen sistemi yormayan bir oynatıcı.

Songbird: Hem bir web tarayıcısı hemde bir müzik çalar. Firefox eklentilerini destekliyor kendi eklentileri de var müzik için tema olayı da var tabii.

Exaile, Rythymbox, Listen da geriye kalanlar. Birbirlerine benziyorlar Listen ve Exaile daha öne çıkmasına rağmen Listen ile bir türlü anlaşamadım. Çalıştırdığım zaman cpu kullanımı tavan yapıyor.

Video

Vlc Player: Windowsdan da tanıyabileceğiniz bir program. Gerçekten çok kaliteli. En iyi video oynatıcılardan biri. Ayrıca windows üzerinde çok kötü bir görüntü alırken bu programla, pardus üzerinde tam aksine çok güzel görüntü alıyorum.

MPlayer: Linux için en iyisi. Çok geniş özellikleri var.

Mesajlaşma

emesene: Benimde kullanıyor olduğum msn programı. Windowsdan gelenler için çok iyi bir alternatif çünkü bu tür programlar arasında wlm’ye en çok benzeyeni. Çeşitli eklentileride var(plus! vs…)

amsn: Pek fazla kullanmadım arayüzünü sevmediğim için ama güzel bir alternatif.

Kmess, pidgin de geriye kalanlar. Bu ikisi sadece msn ağları için değil jabber, aim, icq, irc ağlarınıda desteklemektedir. Kmess kde kullananlar için iyi bir çözüm. Pidgin‘de eklentileriyle vs. öne çıkıyor.

FatRat: Ben indirme yöneticisi olmadan yapamam diyorsanız işte en iyi çözüm. Windows’da ki birçok alternatifinden daha iyi, gerçekten hız sınırlarınızı zorluyor. Torrent(ayrıca torrent araması vs’yi de destekler) desteği de var. RapidShare araçlarınıda barındırıyor. İster premium hesap ister free olarak rapidshare ile uyumlu. Kesinlikle denenmeli.

Transmission, KTorrent ve Deluge de torrent programları. KTorrent kde için iyi bir çözüm. utorrent’e alışmış biriyseniz Deluge iyi bir çözüm. Transmission ise basit ve işe yarar bir torrent programı.

Windows üzerinde kullanmış olduğunuz LimeWire, Opera, Firefox gibi programları da Linux üzeinde kullanabilirsiniz.

Araçlar

Notepad yerine kde içinde KWrite geliyor. KWrite hem kod renlendirmesi ve bir çok özelliği ile tabii ki notepad’dan iyi. Ben notepad severim diyorsanız, mausepad ve leafpad(neredeyse aynısı, tabii daha iyi:)) halihazırda bulunmakta. Notepad++ gibi bir program kullanmışsanız Geany tam sizliktir, basit bir kod tamamlama özelliği olsun, renlendirme özelliği olsun ve diğer birçok özelliği olsun çok kullanışlı bir programdır.

Winzip, winrar, 7zip gibi programların yerine, Ark ve Xarchiver’ı denemişliğim var. Ark kde için iyi bir çözüm. Xarchiver ise gerek basitliği hızlılığı tam sürükle-bırak desteği ile gönlüme taht kurmuştur :).

CD, DVD yakmak içinse K3b ve Xfburn iyi birer seçim olacaktır. K3b daha geniş özelliklere sahip olmasına karşın Xfburn ise basitliği ve hızı ile öne çıkıyor.

Geliştirme

Qt creator: En iyi ide, Visual Studiodan hiç bir eksiği yok. C++ bilenler için alışması kolay olacaktır qt’ye.

Gambas: Visual basic’e alışkın olanlar için çok iyi bir ide. İster qt ile ister gtk+ ile programlarınızın arayüzünü tasarlayabiliyorsunuz.

MonoDevelop: C# ile program geliştirmenize imkan tanıyor çok fazla deneyimim olmadığı için pek bir şey diyemeyeceğim.

Kompozer, NVU ve Bluefish de çok iyi web geliştirme ortamları sunuyorlar.

Benden bu kadar, seçim size kalmış.

Pardus’a Basit Gambas3 Kurulumu

Malumunuz gambas2 qt3 ile çalışıyor, ama pardus 2009 qt4ü destekliyor sonuç olarak p2009’a gambas2 kurulmuyor. Gambas3ü kurmak ise bir sorun, çok fazla kuramayan gördüm. Bende işi basitleştireyim dedim ve bir “.sh” dosyası hazırladım. Dosyanın içeriği şöyle:

pisi it sdl-sound
pisi it firebird-client
pisi it qt-devel
pisi install -c system.devel
pisi it subversion
svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/trunk
cd trunk
svn update
./reconf-all
./configure
make
make install

Nasıl kullanacağım derseniz, bir dosya oluşturun adı “gambas3.sh” olsun. Dosyayı oluşturduğunuz yerde konsolu açın. “su” yazıp root olun.

chmod 755 gambas3.sh  (enter)

./gambas3.sh

diyin ve kurulumu başlatın. Şu paketler kurulsun mu? diye sorabilir evet yada e yazıp enterleyin. Kurulum uzun sürebilir ama başarıyla kurulacaktır. Kurulum bittikten sonra “alt + f2” kombinasyonunu uygulayıp “gambas3” yazıp uygulamayı çalıştırabilirsiniz.

Dosya oluşturmakla uğraşamam diyorsanız, sh dosyasını şuradan indirebilirsiniz.

Gambası kurduk, eee? Ne ki bu diyorsanız: Gambas ile programlama

Temizlikçi

Sweeper’ın yetersiz olduğunu düşününce içimden böyle bir program yapmak geldi. İlk versiyon için basit bir arayüz tasarladım. Arayüz şu an için böyle:

Desteklerdiği programlar resimdede görüldüğü gibi: Firefox, Opera, Amsn, LimeWire, JDownloader, Adobe-Flash ve Acrobat,  Playonlinux,  gimp,  wine.

Desteklemesini istediğiniz başka bir program varsa buraya yada şuraya yazabilirsiniz.Proje sayfası için de şuradan.

Yeni Arayüz:

C++ ve Qt ile Programlama

Bir yazı dizisine başlıyorum :).  Bu yazıda hazırlık aşamalarını nelerin kurulacağını, neyin ne olduğunu göreceğiz. Hadi başlayalım.En baştan başlayarak hızlıca ilerleyelim.

Qt nedir? Qt, platformlar arası bir uygulama geliştirme sistemidir.Çoğunlukla gui’si olan programlar için kullanılır fakat konsol uygulamalarıda geliştirmeniz mümkün. Qt c++ kullanır fakat diğer dilleride kullanmanız mümkün.(Python, rubby vs.) Qt platformdan bağımsızdır. Windows, Linux, Mac vs. hepsinde kullanabilirsiniz. Bu kadar bilgi yeter. Şimdi ana meseleye geçelim.

Bu yazıda “qt creator” üzerinde duracağım. Qt creator ile nasıl c++ uygulamaları geliştireceğinizi anlatacağım. Öncelikle şu adrese gidip kendiniz için uygun olanı indiriyorsunuz, tabii biz Pardus kullandığımız için şunu indiriyoruz.İndikten sonra indiği klasöre girip uçbirimi açıyoruz ve

chmod u+x qt-sdk-linux-x86-opensource-2010.04.bin
./qt-sdk-linux-x86-opensource-2010.04.bin

diyip kurulumu başlatıyoruz ve gerekli adımları takip ettikten sonra kurulum bitiyor. Eğer isterseniz paket yöneticisinden “qt-demos”(örnek uygulamalar içerir) ve “qt-doc”u(belgeler vs. içerir) kurabilirsiniz. Bu belgeler çok işinize yarayacaktır. Sonrasında qt creator’ü çalıştırıyoruz.

Kullanıcı dostu bir arayüze sahip. Kullanımı da gayet basit. Ve ilk ugulamamıza geçelim.Bizim ilk uygulamamız biraz farklı olacak. Qt creator’den File->New File or Project->Qt c++ Project->Qt GUI App. diyoruz.

Projenin nereye kaydedileceğini ayarladıktan sonra ileri diyoruz ve bitiriyoruz. Bizi ana form’un tasarım sayfasına gönderiyor. Soldaki menüden isteklerinizi seçip koyabilirsiniz. CTRL + R kombinasyonu ile de uygulamanızı çalıştırabilirsiniz.

Sol taraftaki “Edit” bölümüne geliyoruz. Burada bir proje ağacı var, projenin içindeki dosyaları vs. her şeyi görebilirsiniz. Proje dosyasını inceleyecek olursak uzantısı “.pro”dur. İçinde formlar, başlık dosyaları ve kaynak dosyalarını belirtir, işletim sistemine göre derleme türünü vs ayarlayada bilirsiniz.

Proje ağacından main.cpp’ye girerseniz şunun gibi bir şey ile karşılaşacaksınız.

#include <QtGui/QApplication>
#include “mainwindow.h”

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();

return a.exec();
}

#include <QtGui/QApplication> ile gerekli modülü dahil ettik. #include “mainwindow.h” mainwindow.h dosyasını main.cpp’ye dahil ettik. “MainWindow w;” komutu ile mainwindow’u w olarak tanımladık ve w.show() ile formumuzu gösterttik. app.exec(); ile her şeyi Qt’ye devrettik…

Bu kodları yazmak zorunda değiliz tabii qt creator bizim için her şeyi ayarlıyor. Bu yazıda sadece bir giriş yaptık, gelecek yazılarda basit bir uygulama yapacağız ve sinyal slot kavramını ele alacağız. Olaylar ve olayları yakalamaya bakacağız. Bir sonraki yazıda buluşmak üzere. 🙂

mod u+x qt-sdk-linux-x86-opensource-2010.04.bin

Pardus.org.tr için değişim zamanı

Başlığı attım ama değişecek mi zaman gösterir. Ne yazık ki bunu söylemeliyim vasat bir site olmuş. Vasat derken yanlış anlaşılmasın, bir linux dağıtımına hiç uygun bir site değil, sonuç olara o site içinde emek verilmiş ve hoş bir site olmuş fakat dediğim gibi..

Beyin bölümüne şöyle bir fikir atmıştım fakat bazı yanlış anlaşılmalar sonucu kötü tepkiler aldım, neyse olay tatlıya bağlandı 🙂  Bu fikiri fazla detaylandırmamıştım, olaya yüzelysel yaklaşmıştım biraz ama fikire “kozbeci” arkadaşımız çok güzel ve detaylı bir mesaj atmış. Okunması dileğiyle.