<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>PythonTurk</title>
	<atom:link href="http://pythonturk.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pythonturk.com</link>
	<description>Bir başka dünyadır Python..</description>
	<pubDate>Mon, 18 Jan 2010 23:56:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Python öğrenmek istiyorum ama nasıl?</title>
		<link>http://pythonturk.com/python-ogrenmek-istiyorum-ama-nasil/</link>
		<comments>http://pythonturk.com/python-ogrenmek-istiyorum-ama-nasil/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 23:48:52 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[genel]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[e-book]]></category>

		<category><![CDATA[hangi programlama dili]]></category>

		<category><![CDATA[python'a başlamak]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=166</guid>
		<description><![CDATA[
Şimdiye kadar bir çok kez Python öğrenmeye başlayan insanlardan nereden başlayacakları ve nasıl devam edecekleri konusunda sorular aldım. Soruların hepsini dilim döndüğünce cevapladım. Sonra bu soruların içeriğinin genel anlamda çok benzer olduğunu fark edip bu konuda herkese ayrı ayrı cevap vermektense -hem de bütünlük ve kolay erişebilirlik olması açısından- böyle bir yazı yazmaya karar verdim.
Genel [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://pythonturk.com/wp-content/uploads/2010/01/python2-300x239.png" alt=" alt=" width="300" height="200" align="left" /></p>
<p>Şimdiye kadar bir çok kez Python öğrenmeye başlayan insanlardan nereden başlayacakları ve nasıl devam edecekleri konusunda sorular aldım. Soruların hepsini dilim döndüğünce cevapladım. Sonra bu soruların içeriğinin genel anlamda çok benzer olduğunu fark edip bu konuda herkese ayrı ayrı cevap vermektense -hem de bütünlük ve kolay erişebilirlik olması açısından- böyle bir yazı yazmaya karar verdim.</p>
<p>Genel olarak sorulan soruları toparlayıp olayın <em>&#8220;bence&#8221;</em>sini anlatayım sizlere.<span id="more-166"></span></p>
<p><strong>Programlamaya yeni başlayan biri için Python uygun bir seçim midir?</strong></p>
<p>Evet uygun bir seçimdir. Burada öncelikli olan programlama mantığını oturtmak. Bu kısım dil bağımsız bir olaydır aslında. Yani algoritma oluşturma mantığını kavrayabilmek herhangi bir programlama dili ile doğrudan ilgili bir olay değildir. <a href="http://tr.wikipedia.org/wiki/Pseudocode" target="_blank">Pseudo code</a> yazarak da algoritma mantığını oturtabilirsiniz. Yani programlamaya başlamak için yeter koşul bir dil bilmekten öte algoritma oluşturmayı bilmektir. Python ise bu aşamayı gerçekleştirirken kullanabileceğiniz bir dildir ve yeni başlayanlar için oldukça elverişlidir.</p>
<p><strong>Hangi programlama dilini seçmeliyim (Bence en önemli soru bu)?</strong></p>
<p><strong>Python&#8217;la neler yapabilirim?</strong></p>
<p>Yukarıdaki soruların cevapları iç içe olduğundan bunlara için genel bir cevap vermek daha doğru olur diye düşünüyorum. Bir programcının hangi programlama dili üzerinde uzmanlaşmak istediğine karar vermesi en zor süreçlerden biridir -bu süreci yaşamış biriyim ben de-. Buna cevap verebilmek için ihtiyaçlarınızı iyi belirlemiş olmanız gerekiyor. Bu süreçte size yardımcı olabilecek bazı ip uçları sunsam da bu süreci çözümleyecek tek kişi sizsiniz. Aslında ihtiyaçlarınızı belirlemeniz de tam olarak çözüm olmayacaktır. Günümüzde programlama dillerinin sınırları birbirine girmiş durumda, yani aynı işi bir çok programlama diliyle gerçekleştirebilirsiniz, programlama dillerinde sınır dil değil sınır <strong>siz</strong>siniz. Bu noktada Python&#8217;la neler yapılabileceğine değinmek seçiminizi kolaylaştıracaktır diye düşünüyorum.</p>
<p><strong>- Görsel açıdan zengin desktop uygulamalar geliştirebilirsiniz:</strong></p>
<p>Python&#8217;la gui (<strong>G</strong>raphical <strong>U</strong>ser <strong>I</strong>nterface) tabanlı desktop uygulama geliştirebileceğiniz bir çok <a href="http://wiki.python.org/moin/GuiProgramming" target="_blank">gui kütüphanesine</a> sahip. Bu kütüphaneleri kullanarak platform bağımsız uygulamalar geliştirebilirsiniz.</p>
<p><strong>- Web tabanlı uygulamalar geliştirebilirsiniz:</strong></p>
<p>Python&#8217;la yeni tanışmış insanların duyduğunda şaşırabildiği bir bilgidir bu, <em>&#8220;Nasıl yani Python&#8217;la web sitesi yapabiliyor muyuz?&#8221; </em>sorusu gelir akabinde cevabı ise kocaman bir <em>&#8220;Evet&#8221;</em>tir. Python web uygulamaları geliştirmek için oldukça zengin ve işlevsel <a href="http://wiki.python.org/moin/WebFrameworks" target="_self">framework</a> desteği olan bir dildir. Bunlardan en geniş community&#8217;e sahip olanı <em>Django</em>&#8216;dur. Dökümantasyonu zengin ve kullanım alanı diğer framework&#8217;lere göre daha geniştir. <a href="http://www.djangoproject.com/" target="_self">Djangoproject</a> üzerindeki tutorial&#8217;lar başlangıç için idealdir. Burada bahsetmek istediğim bir diğer web framework ise kendi projelerimde de kullandığım <a href="http://webpy.org/">web.py</a>&#8216;dir. Web.py&#8217;nin en önemli özelliği <em>lighweight</em> olmasıdır. Uygulama geliştirmek için basit(!) bir çatı sunar size, siz bu çatı üzerine istediğiniz gibi uygulamanızı yerleştirirsiniz. Django çok geniş bir kütüphaneye sahip, bir çok işlem için çok işlevsel fonksiyonlar geliştirilmiş, django ile kıyasladığınızda web.py ile daha low-level işlemler yapmak durumunda kalabiliyorsunuz. Kişisel olarak bu işlemleri yapmaktan zevk alıyorum, ayrıca genel mantığı kavramak açısından da gerekli olduğunu düşünüyorum. İlerleyen zamanlarda django&#8217;ya geçmeyi düşünüyorum ben de, en azından birkaç proje geliştirerek daha sağlıklı bir değerlendirme yapabilirim.</p>
<p><strong>- Mobil uygulamalar geliştirebilirsiniz:</strong></p>
<p><a href="http://wiki.opensource.nokia.com/projects/PyS60" target="_blank">PyS60</a> ile Nokia S60 seri telefonlara uygulama geliştirebilirsiniz. S60 bağımlılığı ve Java kadar geniş bir kütüphaneye sahip olmaması gibi eksiklikleri olsa da Python&#8217;un bu alanda da var olması gelecek için ümit verici. Eğer profesyonel anlamda mobil programlama ile uğraşmayı düşünüyorsanız önerim C++/Java olacaktır.</p>
<p>Programlamaya yeni başlayanlar için dil seçimi kadar önemli olduğunu düşündüğüm bir diğer konu ise <strong>linux.</strong> Eğer hiç linux kullanmadıysanız kesinlikle ve kesinlikle bir linux dağıtımı edinip kullanmaya başlamanızı öneririm. Linux kullanmak işin mutfağında olmak gibidir, programcının ufkunu açar. <em>&#8220;Hangi dağıtımı kullansam ki?&#8221; </em>diyorsanız sizi <a href="http://pardus.org.tr/" target="_blank">şöyle</a> alayım. Bir programcı daha önce linux kullanmış ama sonradan kullanmayı tercih etmemiş olabilir, ancak hiç linux kullanmamış programcı bana göre eksik bir programcıdır.</p>
<p>Son olarak konuyu toparlayacak olursak; yukarıda bahsettiğim konular çerçevesinde Python&#8217;un ihtiyaçlarınızı karşıladığını düşünüyorsanız başlamak için hiç beklemeyin derim. Python öğrenmek size hiçbir şey kaybettirmeyecektir.</p>
<p><em>* Python&#8217;la ilgili e-book soran arkadaşlar -basit bir google aramasıyla da ulaşılabilecek olan- <a href="http://www.straw-dogs.co.uk/11/29/top-15-python-e-books-legal-free/" target="_blank">bu</a> adresten faydalanabilirler.</em></p>
<p>Kalın sağlıcakla.</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/python-ogrenmek-istiyorum-ama-nasil/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Python ile mail gönderme maceraları</title>
		<link>http://pythonturk.com/python-ile-mail-gonderme-maceralari/</link>
		<comments>http://pythonturk.com/python-ile-mail-gonderme-maceralari/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 21:22:50 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[python örnek]]></category>

		<category><![CDATA[attachment]]></category>

		<category><![CDATA[mail]]></category>

		<category><![CDATA[mime type]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=147</guid>
		<description><![CDATA[
Kahramanımız geliştirdiği web sitesi üzerinden kullanıcılara mail gönderme olanağı sunmak istiyordu. Nasıl yapayım nasıl yapayım derken, python&#8217;a bir bakayım bu iş için neler var diyerekten araştırmaya koyuldu, buna araştırma da denmez aslında &#8220;araş&#8221; ta kalırsınız anca, o kadar kısa sürdü çünkü.
Onca şey yazdık hala tek satır kod yok, yakışmaz bize diyerekten kullandığım fonksiyonu veriyorum:


def send_mail&#40;to, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://pythonturk.com/wp-content/uploads/image/email.jpg" alt="" width="177" height="153" align="left" /></p>
<p>Kahramanımız geliştirdiği web sitesi üzerinden kullanıcılara mail gönderme olanağı sunmak istiyordu. Nasıl yapayım nasıl yapayım derken, python&#8217;a bir bakayım bu iş için neler var diyerekten araştırmaya koyuldu, buna araştırma da denmez aslında &#8220;araş&#8221; ta kalırsınız anca, o kadar kısa sürdü çünkü.</p>
<p>Onca şey yazdık hala tek satır kod yok, yakışmaz bize diyerekten kullandığım fonksiyonu veriyorum:</p>
<p><span id="more-147"></span></p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> send_mail<span style="color: black;">&#40;</span>to, subject, text = <span style="color: #483d8b;">&quot;&quot;</span>, html = <span style="color: #483d8b;">&quot;&quot;</span>, filename = <span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">smtplib</span>
        <span style="color: #808080; font-style: italic;"># dosya uzantısından türünü belirlemek için mime type'ı import ediyoruz</span>
        <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">mimetypes</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">optparse</span> <span style="color: #ff7700;font-weight:bold;">import</span> OptionParser
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span> <span style="color: #ff7700;font-weight:bold;">import</span> encoders
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">message</span> <span style="color: #ff7700;font-weight:bold;">import</span> Message
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">audio</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEAudio
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">base</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEBase
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">image</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEImage
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">multipart</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEMultipart
        <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">text</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEText
&nbsp;
        COMMASPACE = <span style="color: #483d8b;">', '</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">try</span>:
            <span style="color: #808080; font-style: italic;"># kapsayıcı bir mesaj oluşturuyoruz</span>
            outer = MIMEMultipart<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
            <span style="color: #808080; font-style: italic;">#örnek: mail@example.com</span>
            sender = <span style="color: #483d8b;">&quot;kendi_mail_adresim&quot;</span>
            outer<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Subject'</span><span style="color: black;">&#93;</span> = subject
            <span style="color: #808080; font-style: italic;">#to değişkeninde array içerisinde göndereceğimiz kişilerin adreslerini tutuyoruz</span>
            outer<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span> = COMMASPACE.<span style="color: black;">join</span><span style="color: black;">&#40;</span>to<span style="color: black;">&#41;</span>
            <span style="color: #808080; font-style: italic;">#örnek: mail@example.com</span>
            outer<span style="color: black;">&#91;</span><span style="color: #483d8b;">'From'</span><span style="color: black;">&#93;</span> = <span style="color: #483d8b;">&quot;gonderici_kisminda_gorunecek_adres&quot;</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> text:
                <span style="color: #808080; font-style: italic;">#text içeriği ekliyoruz</span>
                textContent = MIMEText<span style="color: black;">&#40;</span>text, <span style="color: #483d8b;">'plain'</span><span style="color: black;">&#41;</span>
                outer.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>textContent<span style="color: black;">&#41;</span>
&nbsp;
            <span style="color: #ff7700;font-weight:bold;">if</span> html:
                <span style="color: #808080; font-style: italic;">#html içeriği ekliyoruz</span>
                htmlContent = MIMEText<span style="color: black;">&#40;</span>text, <span style="color: #483d8b;">'html'</span><span style="color: black;">&#41;</span>
                outer.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>htmlContent<span style="color: black;">&#41;</span>
&nbsp;
            <span style="color: #808080; font-style: italic;">#attachment var demektir</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> filename:
                path = <span style="color: #483d8b;">&quot;attachments/&quot;</span> + filename
                <span style="color: #808080; font-style: italic;">#dosyanın türünü tahmin edip ona göre type belirliyoruz</span>
                ctype, encoding = <span style="color: #dc143c;">mimetypes</span>.<span style="color: black;">guess_type</span><span style="color: black;">&#40;</span>path<span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">if</span> ctype <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #008000;">None</span> <span style="color: #ff7700;font-weight:bold;">or</span> encoding <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">None</span>:
                    <span style="color: #483d8b;">&quot;&quot;&quot; dosya türünü belirleyemediysek veya dosya sıkıştırılmış
                    bir dosya ise generic olarak octet-stream veriyoruz&quot;&quot;&quot;</span>
                    ctype = <span style="color: #483d8b;">'application/octet-stream'</span>
&nbsp;
                maintype, subtype = ctype.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/'</span>, <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">if</span> maintype == <span style="color: #483d8b;">'text'</span>:
                    fp = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path<span style="color: black;">&#41;</span>
                    msg = MIMEText<span style="color: black;">&#40;</span>fp.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, _subtype=subtype<span style="color: black;">&#41;</span>
                    fp.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
                <span style="color: #ff7700;font-weight:bold;">elif</span> maintype == <span style="color: #483d8b;">'image'</span>:
                    fp = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path, <span style="color: #483d8b;">'rb'</span><span style="color: black;">&#41;</span>
                    msg = MIMEImage<span style="color: black;">&#40;</span>fp.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, _subtype=subtype<span style="color: black;">&#41;</span>
                    fp.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
                <span style="color: #ff7700;font-weight:bold;">elif</span> maintype == <span style="color: #483d8b;">'audio'</span>:
                    fp = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path, <span style="color: #483d8b;">'rb'</span><span style="color: black;">&#41;</span>
                    msg = MIMEAudio<span style="color: black;">&#40;</span>fp.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, _subtype=subtype<span style="color: black;">&#41;</span>
                    fp.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
                <span style="color: #ff7700;font-weight:bold;">else</span>:
                    fp = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path, <span style="color: #483d8b;">'rb'</span><span style="color: black;">&#41;</span>
                    msg = MIMEBase<span style="color: black;">&#40;</span>maintype, subtype<span style="color: black;">&#41;</span>
                    msg.<span style="color: black;">set_payload</span><span style="color: black;">&#40;</span>fp.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                    fp.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
                    <span style="color: #483d8b;">&quot;&quot;&quot;eğer yukarıdakilerden biri değilse mesajı base64 olarak encoded
                    texte çevirip mesaja ekliyoruz&quot;&quot;&quot;</span>
                    encoders.<span style="color: black;">encode_base64</span><span style="color: black;">&#40;</span>msg<span style="color: black;">&#41;</span>
&nbsp;
                msg.<span style="color: black;">add_header</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Content-Disposition'</span>, <span style="color: #483d8b;">'attachment'</span>, filename=filename<span style="color: black;">&#41;</span>
                outer.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>msg<span style="color: black;">&#41;</span>
&nbsp;
            <span style="color: #808080; font-style: italic;"># oluşturduğumuz text, html ve file datasını string olarak alıyoruz</span>
            composed = outer.<span style="color: black;">as_string</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
            <span style="color: #808080; font-style: italic;">#örnek: mail.example.com</span>
            s = <span style="color: #dc143c;">smtplib</span>.<span style="color: black;">SMTP</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mail_server_adresi&quot;</span>,<span style="color: #ff4500;">25</span><span style="color: black;">&#41;</span>
            <span style="color: #808080; font-style: italic;">#göndermek için kullandığımız mail hesabımızın login bilgileri</span>
            s.<span style="color: black;">login</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;username&quot;</span>,<span style="color: #483d8b;">&quot;password&quot;</span><span style="color: black;">&#41;</span>
            s.<span style="color: black;">sendmail</span><span style="color: black;">&#40;</span>sender, to, composed<span style="color: black;">&#41;</span>
            s.<span style="color: black;">quit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;success&quot;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">Exception</span>, exc:
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;failed&quot;</span></pre></div></div>

<p>Kod içerisinde gerekli yerlerde açılama yaptım, kullanımı çok basit.<br />
<strong>text: </strong>mail içerisinde gönderilecek text metin.<br />
<strong>html: </strong>mail içerisinde html göndermek için set edeceğimiz değişken (html kodu)<br />
<strong>filename: </strong>mail&#8217;a attach edeceğimiz dosya varsa onun adını veriyoruz. Fonksiyon içerisinde<br />
path olarak <em>attachments/filename</em> pathini kullandım ben, siz kendinize göre değiştiriniz.</p>
<p>Python&#8217;la bir maceramızın daha sonuna geldik, yenileriyle en kısa zamanda birlikte olmak ümidiyle<br />
(evet 2 gün üst üste post girdim, çok heyecanlıyım)</p>
<p>Kalın sağlıcakla.</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/python-ile-mail-gonderme-maceralari/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pymssql, windows 2003</title>
		<link>http://pythonturk.com/pymssql-windows-2003/</link>
		<comments>http://pythonturk.com/pymssql-windows-2003/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 20:41:59 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[genel]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[mssql]]></category>

		<category><![CDATA[pymssql]]></category>

		<category><![CDATA[windows 2003]]></category>

		<category><![CDATA[_mssql]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=141</guid>
		<description><![CDATA[Bir müşterimiz için Python ile Windows 2003 üzerinde çalışacak ve MsSql üzerine işlemler yapacak bir uygulama geliştirmemiz gerekti. Web.py ile server üzerinde çalışacak bir web uygulamasıydı yapacağımız. Burada anlatmak istediğim ise Windows 2003, MsSql ve Python (pymssql) üçlüsünün nasıl çalıştığı.
Pymssql&#8217;i kurmaya çalıştığımda kurulumda dll hatası verdi. Eksik olan msvcp90.dll&#8216;i indirip c:\winnt\system32 içerisine kopyaladım. Daha sonra [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://pythonturk.com/wp-content/uploads/image/visual_mssql.jpg" alt="mssql" width="232" height="129" align="left" />Bir müşterimiz için Python ile Windows 2003 üzerinde çalışacak ve MsSql üzerine işlemler yapacak bir uygulama geliştirmemiz gerekti. <a href="http://www.webpy.org">Web.py</a> ile server üzerinde çalışacak bir web uygulamasıydı yapacağımız. Burada anlatmak istediğim ise Windows 2003, MsSql ve Python (<a href="http://pymssql.sourceforge.net/">pymssql</a>) üçlüsünün nasıl çalıştığı.</p>
<p>Pymssql&#8217;i kurmaya çalıştığımda kurulumda dll hatası verdi. Eksik olan <a href="http://www.dll-files.com/dllindex/dll-files.shtml?msvcp90">msvcp90.dll</a>&#8216;i indirip <em>c:\winnt\system32 </em>içerisine kopyaladım. Daha sonra modülü import ettiğimde modül içerisinde kullanılan <strong>_mssql</strong> kısmını import ederken hata verdi. Bu da bir dll eksikliğinden kaynaklanıyormuş. Bunun için <a href="http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71">msvcr71.dll</a> doyasını indirip <em>c:\Python26\Lib\site-packages </em>içerisine kopyalıyoruz. Daha sonra mssql sağ ben selamet&#8230;</p>
<p>Olur da birinin ihtiyacı olur diye not olsun bu da.</p>
<p>Kalın sağlıcakla.</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/pymssql-windows-2003/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bu bir başlıktır.</title>
		<link>http://pythonturk.com/bu-bir-basliktir/</link>
		<comments>http://pythonturk.com/bu-bir-basliktir/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 19:58:33 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[genel]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[webpy]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=126</guid>
		<description><![CDATA[Yine uzun bir aradan sonra birlikteyiz muhabbetine girmeyeceğim ama şaka maka baya oldu  Efendim sizlere şu ara uğraştığım şeylerden bahsedip daha sonra yapmak istediklerimi anlatarak bu güzel yazıyı sonlandırmayı düşünüyorum. Evet düşünüyorum.
Yazılım hayatım boyunca -böyle diyince bi 10 yılı devirmişim gibi geldi- bir şekilde karşılaşmadığım -belki de kaçtığım- web programlamaya artık &#8220;balıklama&#8221; diye tabir [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 5px 10px; float: left;" src="http://pythonturk.com/wp-content/uploads/2009/08/in_cods_keeping-300x200.jpg" alt="" width="254" height="169" />Yine uzun bir aradan sonra birlikteyiz muhabbetine girmeyeceğim ama şaka maka baya oldu <img src='http://pythonturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Efendim sizlere şu ara uğraştığım şeylerden bahsedip daha sonra yapmak istediklerimi anlatarak bu güzel yazıyı sonlandırmayı düşünüyorum. Evet düşünüyorum.</p>
<p>Yazılım hayatım boyunca -böyle diyince bi 10 yılı devirmişim gibi geldi- bir şekilde karşılaşmadığım -belki de kaçtığım- web programlamaya artık &#8220;balıklama&#8221; diye tabir edilebilecek bir şekilde girmiş bulunuyorum. Temel olarak bazı farklılıkları olsa da en nihayetinde yazdığınız bir program, o yüzden fazla kasmadım -yazarın kendine notu: hadi lennn-. Web programlamaya girdik peki bu adam ne yaptı? Ne yaptıysa Python&#8217;la yaptı. Evet efendim yaptığımız web projelerinde Python kullanıyoruz. Tek başına değil tabi ki. Python&#8217;la birlikte web projeleri geliştirmek için -çeşitli ortamlarda da çığırtkanlığını yaptığım- <a href="http://www.webpy.org">webpy</a> çatısını kullanıyoruz. Tanımında da yazdığı gibi (Lightweight Web Framework) kendisi -django&#8217;ya inat- sade ve kullanışlı bir çatıdır. Çatı demişken bir diğer harika çatı daha kullanıyoruz, o da <a href="http://www.jquery.com/">jQuery</a>. Bundan sonraki yazılarımda bu ikiliden çok söz etmeyi düşünüyorum.</p>
<p>Eveeet, gelelim planlara. İşe pythonturk.com&#8217;u Python ile yazarak başlamayı düşünüyorum. Wordpress zaten var, gayet de başarılı bir sistem, bu Amerika&#8217;yı yeniden keşfetme isteği niye? Efendim Wordpress işimi görmediği için ya da yeterli olmadığı için yapmıyorum bu siteyi, madem Python ile web programlamadan bahsedeceğiz bundan sonra ee bi zahmet kendi çöplüğümüzü de buna uygun hale getirelim ama dimi. Öyle çok alengirli şeyler olmayacak zaten, hedefi büyük tutupta başlayamama sendromu yaşamak istemiyorum. İlk olarak yazı girebileceğim bir admin paneli, ve yazılara yorum yapabilme seçeneği olacak. Listeleme, arama işlemlerini dahi sonraya bırakıyorum. Yazı ve yorum girebilecek hale geldiğinde siteyi yayına sokacağım. Akşamları işten sonra kodlayacağım siteyi -bu da patronuma ek bilgi olsun, patroncuğum gördüğün üzere akşamları sitemi kodlayacağım, eve iş getirmek falan yok ona göre -, hatta bu yazıyı yazdıktan sonra css bakmaya başlıyorum -tavsiye edebileceğiniz güzel css&#8217;ler olursa beklerim-. Sade mavi ağırlıklı birşey düşünüyorum, bakalım gelişmeleri paylaşırım yine burdan.</p>
<p>Şimdilik benden bu kadar, kalın sağlıcakla&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/bu-bir-basliktir/feed/</wfw:commentRss>
		</item>
		<item>
		<title>py2exe saçmalarsa</title>
		<link>http://pythonturk.com/py2exe-sacmalarsa/</link>
		<comments>http://pythonturk.com/py2exe-sacmalarsa/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 14:13:42 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[python]]></category>

		<category><![CDATA[gif]]></category>

		<category><![CDATA[msvcr71.dll]]></category>

		<category><![CDATA[py2exe]]></category>

		<category><![CDATA[pyqt]]></category>

		<category><![CDATA[python25]]></category>

		<category><![CDATA[python26]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=120</guid>
		<description><![CDATA[Merhaba, yazdığım uygulamanın windows altında çalıştırabilir halini oluşturmak için sarıldım py2exe&#8217;ye. Kodumda herhangi bir hata yok, setup.py dosyamı da oluşturdum, buraya kadar herşey çok güzel. python setup.py py2exe komutunu da çalıştırdım,
aa herşey çok güzel devam ediyor. Çalıştırılabilir dosyamız da hazır.
Oluşan çalıştırılabilir dosyaya çift tıklıyoruz,
eee? Çalışmadı! msvcr71.dll dosyası eksik diyor.
Nasıl olur? (Sistemde python 2.6 bulunmakta).
Arıyoruz tarıyoruz [...]]]></description>
			<content:encoded><![CDATA[<p>Merhaba, yazdığım uygulamanın windows altında çalıştırabilir halini oluşturmak için sarıldım py2exe&#8217;ye. Kodumda herhangi bir hata yok, setup.py dosyamı da oluşturdum, buraya kadar herşey çok güzel. python setup.py py2exe komutunu da çalıştırdım,<br />
aa herşey çok güzel devam ediyor. Çalıştırılabilir dosyamız da hazır.<br />
Oluşan çalıştırılabilir dosyaya çift tıklıyoruz,<br />
eee? Çalışmadı! <strong>msvcr71.dll</strong> dosyası eksik diyor.<br />
Nasıl olur? (Sistemde python 2.6 bulunmakta).<br />
Arıyoruz tarıyoruz dosyayı C:\WINDOWS\system32 içerisinde buluyoruz,<br />
oradan alıp çalıştırılabilir dosyamızın yanına koyuyoruz,<br />
çift tık &#8211;&gt; aa çalıştı.<br />
Oluşturduğumuz klasörü alıp başka bir bilgisayara geçiyoruz,<br />
çift tık &#8211;&gt; fıssss.<br />
google amca açmış kollarını bizi bekliyor ve öğreniyoruz ki 2.6 sürümünde böyle bir hata mevcut (çözümü var mı bilmiyorum, ben denk gelmedim)<br />
Çözüm? Sisteme 2.5 sürümünü kuruyoruz. Programımızı başarıyla paketleyip çalışır hale getiriyoruz.</p>
<p>İlk maceramız böyle sonuçlandı ama bitmedi. Diğer yazılardan da anlaşılacağı üzere uygulamanın bir yerinde pyqt ile gif dosyası oynatıyorum.<br />
Programı başarıyla paketledik ama bir eksik daha var.<br />
Programa koyduğumuz gif dosyasının yerinde yeller esiyor.<br />
Oynamayı bırakın hareketsiz hali bile yok.<br />
Aklıma ilk gelen gif dosyasını bulamamış olabileceğiydi.<br />
Kontrol ettim, herşey düzgün.<br />
Allahtan google hala açık <img src='http://pythonturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> anahtar kelimeleri değiştirip veriyorum coşkuyu.<br />
Sorun ne bende ne python&#8217;da, sorun py2exe&#8217;de.<br />
&#8220;C:\Python25\Lib\site-packages\PyQt4\plugins&#8221; içerisindeki <strong>imageformats</strong> klasörünü çalıştırılabilir dosyamızın yanına koyuyoruz (içinden ihtiyacınız olmayan dllleri silebilirsiniz),<br />
vee işkence bitti gibi, gif dosyamız Allah ne verdiyse döktürüyor.<br />
setup.py içerisine bu kopyalama işlemini kendisinin yapması için bir düzenleme yapmak gerekiyor mu bilmiyorum. Aradım taradım ben öyle bir şeye rastlamadım. O yüzden suçu py2exe modülüne atmamam için hiçbir neden yok <img src='http://pythonturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Şimdilik benden bu kadar.<br />
Kalın sağlıcakla&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/py2exe-sacmalarsa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>QFile::seek: IODevice is not open</title>
		<link>http://pythonturk.com/qfileseek-iodevice-is-not-open/</link>
		<comments>http://pythonturk.com/qfileseek-iodevice-is-not-open/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 14:19:39 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[pyqt]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[IODevice]]></category>

		<category><![CDATA[python exception]]></category>

		<category><![CDATA[QFile]]></category>

		<category><![CDATA[QMovie cacheAll]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=117</guid>
		<description><![CDATA[ PyQt ile gif oynatıyorsunuz ve uygulamanız bir yerinde QFile::seek: IODevice is not open gibi bir hata verip kilitleniyor ve siz google amcaya nedir bunun sebebi diye sorup buraya geliyorsunuz, merak etmeyin doğru yerdesiniz  Yapmanız gereken gif dosyası movie nesnesine yüklenirken bütün framelerin cachlenmesini sağlamak. Bu da şöyle oluyor:

self.movie.setCacheMode&#40;QtGui.QMovie.CacheAll&#41;

vee hatadana eser yok..
Sloganımızı da söyleyelim, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-118" title="iodeviceerror" src="http://pythonturk.com/wp-content/uploads/2009/02/iodeviceerror.png" alt="" width="172" height="62" /> PyQt ile gif oynatıyorsunuz ve uygulamanız bir yerinde <em>QFile::seek: IODevice is not open</em> gibi bir hata verip kilitleniyor ve siz google amcaya nedir bunun sebebi diye sorup buraya geliyorsunuz, merak etmeyin doğru yerdesiniz <img src='http://pythonturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Yapmanız gereken gif dosyası movie nesnesine yüklenirken bütün framelerin cachlenmesini sağlamak. Bu da şöyle oluyor:</p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #008000;">self</span>.<span style="color: black;">movie</span>.<span style="color: black;">setCacheMode</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QMovie</span>.<span style="color: black;">CacheAll</span><span style="color: black;">&#41;</span></pre></div></div>

<p>vee hatadana eser yok..</p>
<p>Sloganımızı da söyleyelim, <strong>&#8220;exceptionsız günler sizinle olsun..&#8221;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/qfileseek-iodevice-is-not-open/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Python ile dosyaya veri yazma</title>
		<link>http://pythonturk.com/python-ile-dosyaya-veri-yazma/</link>
		<comments>http://pythonturk.com/python-ile-dosyaya-veri-yazma/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 13:30:37 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[dosya okuma]]></category>

		<category><![CDATA[dosya yazma]]></category>

		<category><![CDATA[read]]></category>

		<category><![CDATA[write]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=115</guid>
		<description><![CDATA[Python ile geliştirdiğim sunucu ve istemci şeklinde çalışan bir uygulamam var. Sunucudan istemciye içeriği binary olan bir dosya transferi yapıyorum. Linux üzerinde denediğimde dosyayı gayet başarılı bir şekilde kaydediyor ancak windows&#8217;ta denediğimde dosya hasarlı görünüyor, gelen dosyanın boyutuyla sunucudan gönderdiğim dosyanın boyutu da tutmuyor (istemcideki dosya daha büyük oluyor). Bu durumu görünce &#8220;işte çözülmesi gereken [...]]]></description>
			<content:encoded><![CDATA[<p>Python ile geliştirdiğim sunucu ve istemci şeklinde çalışan bir uygulamam var. Sunucudan istemciye içeriği binary olan bir dosya transferi yapıyorum. Linux üzerinde denediğimde dosyayı gayet başarılı bir şekilde kaydediyor ancak windows&#8217;ta denediğimde dosya hasarlı görünüyor, gelen dosyanın boyutuyla sunucudan gönderdiğim dosyanın boyutu da tutmuyor (istemcideki dosya daha büyük oluyor). Bu durumu görünce &#8220;işte çözülmesi gereken harika bir problem, ollleeyyy&#8221; naraları ile başladım didiklemeye (bunun öncesinde windows&#8217;a ettiğim küfürleri yazmıyorum). Sonra farkettim ki tek suç windows&#8217;un değilmiş, dosyayı binary modda açmam gerekiyormuş. Aslında çok bilinmedik bir şey değil, başlangıçta kaçırmışım ve Linux&#8217;ta sorun çıkarmaması çözümü görmemi zorlaştırmış biraz. Neyse olur da sizin de başınıza gelir belki diye buraya not düşüyorum. Demedi demeyin <img src='http://pythonturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;">f = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;temp.gif&quot;</span>, <span style="color: #483d8b;">&quot;wb&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Kalın sağlıcakla..</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/python-ile-dosyaya-veri-yazma/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyQt harikaları</title>
		<link>http://pythonturk.com/pyqt-harikalari/</link>
		<comments>http://pythonturk.com/pyqt-harikalari/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 22:17:58 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[pyqt]]></category>

		<category><![CDATA[python örnek]]></category>

		<category><![CDATA[arayüz]]></category>

		<category><![CDATA[maske]]></category>

		<category><![CDATA[pencere]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[setMask]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=101</guid>
		<description><![CDATA[Merhaba PyQt harikaları yazı dizimize hoş geldiniz, bu arada başlık iddialı olmuş biraz ama hak ediyor bence. Bu ara fırsat buldukça bir dizi halinde PyQt ile yapabileceğiniz &#8220;değişik&#8221; ve &#8220;işlevsel&#8221; şeylerden bahsedeceğim. İlki bu yazı, gelen tepkileri beğenirsem diğerlerini de yazarım, +rep&#8217;lerinizi bekliyorum  Hemen senaryomuza geçelim. Bir resim gösterici uygulaması geliştiriyorsunuz ama uygulamanızın normal [...]]]></description>
			<content:encoded><![CDATA[<p>Merhaba PyQt harikaları yazı dizimize hoş geldiniz, bu arada başlık iddialı olmuş biraz ama hak ediyor bence. Bu ara fırsat buldukça bir dizi halinde PyQt ile yapabileceğiniz &#8220;değişik&#8221; ve &#8220;işlevsel&#8221; şeylerden bahsedeceğim. İlki bu yazı, gelen tepkileri beğenirsem diğerlerini de yazarım, +rep&#8217;lerinizi bekliyorum <img src='http://pythonturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Hemen senaryomuza geçelim. Bir resim gösterici uygulaması geliştiriyorsunuz ama uygulamanızın normal pencere şeklinde görünmesini istemiyorsunuz, formunuzun çerçeve şeklinde olmasını ve içinde resimlerinizin görünmesini istiyorsunuz. PyQt ile çok kolay. Pencerenizi herhangi bir çizim programıyla çizin ve gerisini PyQt&#8217;ye bırakın.</p>
<p>Örnek uygulamayı vermeden önce içeriğinden bahsedeyim, örneğimizde ana formumuz, kapatma ve minimize butonları ile ileri - geri butonlarını gösteren toplam 5 adet resim bulunmakta. Amacım pencere dekorasyonunu göstermek olduğu için resim gösterme kısmını yazmadım.</p>
<p>Anlatımı kodun içerisinde uygun yerlerde açıklama satırları ile yaptım. Kafanıza takılan, anlamadığınız bir kısım olursa sormaktan çekinmeyiniz.<br />
Kodumuz şöyle:</p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Form implementation generated from reading ui file 'widget.ui'</span>
<span style="color: #808080; font-style: italic;">#</span>
<span style="color: #808080; font-style: italic;"># Created: Thu Jan 19 21:53:03 2009</span>
<span style="color: #808080; font-style: italic;">#      by: PyQt4 UI code generator 4.4.4</span>
<span style="color: #808080; font-style: italic;">#</span>
<span style="color: #808080; font-style: italic;"># Yazan : Aydın Şen</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">from</span> PyQt4 <span style="color: #ff7700;font-weight:bold;">import</span> QtCore, QtGui
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
<span style="color: #ff7700;font-weight:bold;">class</span> Ui_Form<span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QWidget</span><span style="color: black;">&#41;</span>:
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, parent=<span style="color: #008000;">None</span><span style="color: black;">&#41;</span>:
&nbsp;
        QtGui.<span style="color: black;">QWidget</span>.<span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, parent<span style="color: black;">&#41;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Picture Viewer&quot;</span><span style="color: black;">&#41;</span>
	<span style="color: #483d8b;">&quot;&quot;&quot;
	# Pencereyi olusturacagimiz ana resmimizi yukluyoruz.
	# Penceremiz once bu resme göre kesilip-biciliyor,
	# daha sonra aynı resim kesili-bicilen pencereye arkaplan olarak label'in icine yerlestiriliyor
	&quot;&quot;&quot;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">pixMap</span> = QtGui.<span style="color: black;">QPixmap</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;pict_frame.jpg&quot;</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;"># Ana pencerenin enini ve boyunu yukledigimiz resme gore ayarliyoruz</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">w</span> = <span style="color: #008000;">self</span>.<span style="color: black;">pixMap</span>.<span style="color: black;">width</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">h</span> = <span style="color: #008000;">self</span>.<span style="color: black;">pixMap</span>.<span style="color: black;">height</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;"># Ana penceremizi yeni boyutuna resize ediyoruz</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">resize</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">w</span>, <span style="color: #008000;">self</span>.<span style="color: black;">h</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;"># Kestigimiz pencereye arkaplan olarak doseyecegimiz label'imizi tanimliyoruz</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">labelBackground</span> = QtGui.<span style="color: black;">QLabel</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">labelBackground</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;labelBackground&quot;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">labelBackground</span>.<span style="color: black;">setPixmap</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixMap</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;"># Penceremize title ve icon verilerini giriyoruz</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">setWindowTitle</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Picture Viewer&quot;</span><span style="color: black;">&#41;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">setWindowIcon</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QIcon</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;windowIcon.png&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
	<span style="color: #483d8b;">&quot;&quot;&quot;
	# Penceremizi ozellestirdigimiz icin kendi kapatma ve minimize butonlari yok
	# elimizde bulunan buton resimlerini butonlara atiyoruz
	# burada paletteButImage adinda bir palet nesnesi olusturduk
	# bu nesne ile resmin kendisinin buton olarak gorunebilmesi icin ayarlamalar yaptik
	# flat olmasi, focus ozelligi olmamasi gibi.
	# bu palet nesnesini resim olarak kullanacagimiz butun butonlara aktardik&quot;&quot;&quot;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">butClose</span> = QtGui.<span style="color: black;">QPushButton</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setGeometry</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QRect</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">365</span>, <span style="color: #ff4500;">4</span>, <span style="color: #ff4500;">25</span>, <span style="color: #ff4500;">25</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        paletteButImage = QtGui.<span style="color: black;">QPalette</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        brush = QtGui.<span style="color: black;">QBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QColor</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">239</span>, <span style="color: #ff4500;">239</span>, <span style="color: #ff4500;">239</span>, 0<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        brush.<span style="color: black;">setStyle</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">SolidPattern</span><span style="color: black;">&#41;</span>
        paletteButImage.<span style="color: black;">setBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Active</span>, QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Button</span>, brush<span style="color: black;">&#41;</span>
        brush = QtGui.<span style="color: black;">QBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QColor</span><span style="color: black;">&#40;</span>0, 0, 0, 0<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        brush.<span style="color: black;">setStyle</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">SolidPattern</span><span style="color: black;">&#41;</span>
        paletteButImage.<span style="color: black;">setBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Active</span>, QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Shadow</span>, brush<span style="color: black;">&#41;</span>
        brush = QtGui.<span style="color: black;">QBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QColor</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">239</span>, <span style="color: #ff4500;">239</span>, <span style="color: #ff4500;">239</span>, 0<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        brush.<span style="color: black;">setStyle</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">SolidPattern</span><span style="color: black;">&#41;</span>
        paletteButImage.<span style="color: black;">setBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Inactive</span>, QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Button</span>, brush<span style="color: black;">&#41;</span>
        brush = QtGui.<span style="color: black;">QBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QColor</span><span style="color: black;">&#40;</span>0, 0, 0, 0<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        brush.<span style="color: black;">setStyle</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">SolidPattern</span><span style="color: black;">&#41;</span>
        paletteButImage.<span style="color: black;">setBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Inactive</span>, QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Shadow</span>, brush<span style="color: black;">&#41;</span>
        brush = QtGui.<span style="color: black;">QBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QColor</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">239</span>, <span style="color: #ff4500;">239</span>, <span style="color: #ff4500;">239</span>, 0<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        brush.<span style="color: black;">setStyle</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">SolidPattern</span><span style="color: black;">&#41;</span>
        paletteButImage.<span style="color: black;">setBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Disabled</span>, QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Button</span>, brush<span style="color: black;">&#41;</span>
        brush = QtGui.<span style="color: black;">QBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QColor</span><span style="color: black;">&#40;</span>0, 0, 0, 0<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        brush.<span style="color: black;">setStyle</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">SolidPattern</span><span style="color: black;">&#41;</span>
        paletteButImage.<span style="color: black;">setBrush</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Disabled</span>, QtGui.<span style="color: black;">QPalette</span>.<span style="color: black;">Shadow</span>, brush<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setPalette</span><span style="color: black;">&#40;</span>paletteButImage<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setFocusPolicy</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">NoFocus</span><span style="color: black;">&#41;</span>
	<span style="color: #808080; font-style: italic;"># butona koyacagimiz resmi yukledik</span>
        icon = QtGui.<span style="color: black;">QIcon</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        icon.<span style="color: black;">addPixmap</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPixmap</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;btn_close.png&quot;</span><span style="color: black;">&#41;</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Normal</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Off</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setIcon</span><span style="color: black;">&#40;</span>icon<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setIconSize</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QSize</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">21</span>, <span style="color: #ff4500;">21</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setFlat</span><span style="color: black;">&#40;</span><span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;butClose&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span> = QtGui.<span style="color: black;">QPushButton</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setGeometry</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QRect</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">340</span>, <span style="color: #ff4500;">4</span>, <span style="color: #ff4500;">25</span>, <span style="color: #ff4500;">25</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setPalette</span><span style="color: black;">&#40;</span>paletteButImage<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setFocusPolicy</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">NoFocus</span><span style="color: black;">&#41;</span>
        icon1 = QtGui.<span style="color: black;">QIcon</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        icon1.<span style="color: black;">addPixmap</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPixmap</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;btn_min.png&quot;</span><span style="color: black;">&#41;</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Normal</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Off</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setIcon</span><span style="color: black;">&#40;</span>icon1<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setIconSize</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QSize</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">21</span>, <span style="color: #ff4500;">21</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setFlat</span><span style="color: black;">&#40;</span><span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;butMinimize&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #008000;">self</span>.<span style="color: black;">butNext</span> = QtGui.<span style="color: black;">QPushButton</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setGeometry</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QRect</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">230</span>, <span style="color: #ff4500;">300</span>, <span style="color: #ff4500;">50</span>, <span style="color: #ff4500;">35</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setPalette</span><span style="color: black;">&#40;</span>paletteButImage<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setFocusPolicy</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">NoFocus</span><span style="color: black;">&#41;</span>
        icon2 = QtGui.<span style="color: black;">QIcon</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        icon2.<span style="color: black;">addPixmap</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPixmap</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;btn_right_arrow.png&quot;</span><span style="color: black;">&#41;</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Normal</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Off</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setIcon</span><span style="color: black;">&#40;</span>icon2<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setIconSize</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QSize</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">45</span>, <span style="color: #ff4500;">28</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setFlat</span><span style="color: black;">&#40;</span><span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;butNext&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span> = QtGui.<span style="color: black;">QPushButton</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setGeometry</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QRect</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">140</span>, <span style="color: #ff4500;">300</span>, <span style="color: #ff4500;">50</span>, <span style="color: #ff4500;">35</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setPalette</span><span style="color: black;">&#40;</span>paletteButImage<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setFocusPolicy</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">NoFocus</span><span style="color: black;">&#41;</span>
        icon3 = QtGui.<span style="color: black;">QIcon</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        icon3.<span style="color: black;">addPixmap</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QPixmap</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;btn_left_arrow.png&quot;</span><span style="color: black;">&#41;</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Normal</span>, QtGui.<span style="color: black;">QIcon</span>.<span style="color: black;">Off</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setIcon</span><span style="color: black;">&#40;</span>icon3<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setIconSize</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QSize</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">45</span>, <span style="color: #ff4500;">28</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setFlat</span><span style="color: black;">&#40;</span><span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;butPrevious&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #483d8b;">&quot;&quot;&quot;
	# Butonlar icin toolTip girdik
	# Kapat ve Minimize butonlarinin actionlarini belirledik
	# ileri ve geri butonlarina herhangi bir action atamadik
	&quot;&quot;&quot;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>.<span style="color: black;">setToolTip</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">translate</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Form&quot;</span>, <span style="color: #483d8b;">&quot;Kapat&quot;</span>, <span style="color: #008000;">None</span>, QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">UnicodeUTF8</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>.<span style="color: black;">setToolTip</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">translate</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Form&quot;</span>, <span style="color: #483d8b;">&quot;Simge durumuna küçült&quot;</span>, <span style="color: #008000;">None</span>, QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">UnicodeUTF8</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">butNext</span>.<span style="color: black;">setToolTip</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">translate</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Form&quot;</span>, <span style="color: #483d8b;">&quot;Sonraki&quot;</span>, <span style="color: #008000;">None</span>, QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">UnicodeUTF8</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">butPrevious</span>.<span style="color: black;">setToolTip</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">translate</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Form&quot;</span>, <span style="color: #483d8b;">&quot;Önceki&quot;</span>, <span style="color: #008000;">None</span>, QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">UnicodeUTF8</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
	QtCore.<span style="color: black;">QObject</span>.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">butClose</span>, QtCore.<span style="color: black;">SIGNAL</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;clicked()&quot;</span><span style="color: black;">&#41;</span>, <span style="color: #008000;">self</span>.<span style="color: black;">close</span><span style="color: black;">&#41;</span>
        QtCore.<span style="color: black;">QObject</span>.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">butMinimize</span>, QtCore.<span style="color: black;">SIGNAL</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;clicked()&quot;</span><span style="color: black;">&#41;</span>, <span style="color: #008000;">self</span>.<span style="color: black;">showMinimized</span><span style="color: black;">&#41;</span>
	<span style="color: #008000;">self</span>.<span style="color: black;">setWindowTitle</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">translate</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Form&quot;</span>, <span style="color: #483d8b;">&quot;Picture Viewer&quot;</span>, <span style="color: #008000;">None</span>, QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">UnicodeUTF8</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #008000;">self</span>.<span style="color: black;">ortala</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> ortala<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
	    <span style="color: #483d8b;">&quot;&quot;&quot;
	    # Bu fonksiyon uygulama calistiginda pencerenin ekranin
	    # ortasine yerlesmesini sagliyor
	    &quot;&quot;&quot;</span>
	    screen = QtGui.<span style="color: black;">QDesktopWidget</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">screenGeometry</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	    size =  <span style="color: #008000;">self</span>.<span style="color: black;">geometry</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	    <span style="color: #008000;">self</span>.<span style="color: black;">move</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>screen.<span style="color: black;">width</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>-size.<span style="color: black;">width</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span>, <span style="color: black;">&#40;</span>screen.<span style="color: black;">height</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>-size.<span style="color: black;">height</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> mousePressEvent<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, event<span style="color: black;">&#41;</span>:
	 <span style="color: #483d8b;">&quot;&quot;&quot;
	 # Kendimize ozel pencere belirledigimiz icin mouse eventlarini override ediyoruz
	 &quot;&quot;&quot;</span>
         <span style="color: #ff7700;font-weight:bold;">if</span> event.<span style="color: black;">button</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> == QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">LeftButton</span>:
&nbsp;
             <span style="color: #008000;">self</span>.<span style="color: black;">dragPosition</span> = event.<span style="color: black;">globalPos</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> - <span style="color: #008000;">self</span>.<span style="color: black;">frameGeometry</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">topLeft</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
             event.<span style="color: black;">accept</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> mouseMoveEvent<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, event<span style="color: black;">&#41;</span>:
&nbsp;
         <span style="color: #ff7700;font-weight:bold;">if</span> event.<span style="color: black;">buttons</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> == QtCore.<span style="color: black;">Qt</span>.<span style="color: black;">LeftButton</span>:
&nbsp;
             <span style="color: #008000;">self</span>.<span style="color: black;">move</span><span style="color: black;">&#40;</span>event.<span style="color: black;">globalPos</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> - <span style="color: #008000;">self</span>.<span style="color: black;">dragPosition</span><span style="color: black;">&#41;</span>
             event.<span style="color: black;">accept</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> resizeEvent<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, event<span style="color: black;">&#41;</span>:
	 <span style="color: #483d8b;">&quot;&quot;&quot;
	 # Eveeeet, uygulamamizin esas oglani!!!!!
	 # Pencereyi &quot;kesip-bictigimiz&quot; kisim
	 # hatirlarsaniz programin basinda self.pixMap icerisine pencere olarak
	 # kullanmak istedigimiz resmi yuklemistik.
	 # Burada yukledigimiz resmi kullanarak bir maske uretiyoruz
	 # ve Pencerenin (self) setMask metoduna maske nesnemizi gondererek
	 # penceremizin resimdeki gibi olmasini sagliyoruz.
	 # Kendisi kucuk ama islevi buyuk..
	 &quot;&quot;&quot;</span>
	 maske = <span style="color: #008000;">self</span>.<span style="color: black;">pixMap</span>.<span style="color: black;">createMaskFromColor</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QColor</span><span style="color: black;">&#40;</span>0,0,0,0<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
         <span style="color: #008000;">self</span>.<span style="color: black;">setMask</span><span style="color: black;">&#40;</span>maske<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
&nbsp;
    app=QtGui.<span style="color: black;">QApplication</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span>
    form = Ui_Form<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    form.<span style="color: black;">show</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    <span style="color: #dc143c;">sys</span>.<span style="color: black;">exit</span><span style="color: black;">&#40;</span>app.<span style="color: black;">exec_</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
&nbsp;
     main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Yok ben indirip denemeyeyim çalışan halini görsem yeter derseniz <a href="http://pythonturk.com/wp-content/uploads/2009/02/pictviewer.jpg">buyrun</a>.<br />
Uygulamayı kullanılan resimlerle birlikte <a href="http://pythonturk.com/wp-content/uploads/2009/02/qtsetmask.rar">buradan</a> indirebilirsiniz.</p>
<p>Bu arada unutmadan, uygulamanın arka plan resmini <a href="http://www.everythinggraduation.com/page/e/prod/photo1">buradan</a>, pencereye koyduğum icon&#8217;u da <a href="http://www.kde-look.org/content/show.php/AdriX+KDE+Icon+Theme?content=84261">buradan</a> aldım.</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/pyqt-harikalari/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyQt &#038; Animated Gif Macerası..</title>
		<link>http://pythonturk.com/pyqt-animated-gif-macerasi/</link>
		<comments>http://pythonturk.com/pyqt-animated-gif-macerasi/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 10:20:38 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[pyqt]]></category>

		<category><![CDATA[gif]]></category>

		<category><![CDATA[pardus]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=95</guid>
		<description><![CDATA[Python - PyQt birlikteliğinden swf oynatma yeteneği çıkmayınca geliştirdiğim uygulamada dinamik olarak güncellenebilen bir alanda animated gif oynatmaya karar verdik. Qt ile bunun oluru nedir diye baktığımda pek de zor olmadığını gördüm. Özetle şöyle:
Önce bir QMovie nesnesi oluşturuyorsunuz, oynatacağınız gif&#8217;i QMovie nesnesini oluştururken belirtiyorsunuz. Daha sonra bir QLabel oluşturup setMovie metoduna oluşturduğunuz QMovie nesnesini veriyorsunuz. [...]]]></description>
			<content:encoded><![CDATA[<p>Python - PyQt birlikteliğinden swf oynatma yeteneği çıkmayınca geliştirdiğim uygulamada dinamik olarak güncellenebilen bir alanda animated gif oynatmaya karar verdik. Qt ile bunun oluru nedir diye baktığımda pek de zor olmadığını gördüm. Özetle şöyle:</p>
<p>Önce bir QMovie nesnesi oluşturuyorsunuz, oynatacağınız gif&#8217;i QMovie nesnesini oluştururken belirtiyorsunuz. Daha sonra bir QLabel oluşturup setMovie metoduna oluşturduğunuz QMovie nesnesini veriyorsunuz. Son olarak oluşturduğunuz QMovie nesnesinin start() metodunu çağırarak gif&#8217;i oynatıyorsunuz. Mantık olarak çok basit olmakla birlikte bir türlü çalıştıramadım. Hata da vermiyor, bir derdi var belli, çok da küçük bişey ama bir türlü göremiyorum. Deneme için oluşturduğum kod aşağıda, oynatmaya çalıştığım gif dosyası da <a href="http://pythonturk.com/wp-content/uploads/2009/02/progress.gif">burada</a>. Programı deneyip sonucu bana bildirirseniz çok sevinirim.</p>
<p>Çalıştığım sistem özellikleri:</p>
<p>Pardus 2008.2</p>
<p>PyQt 4.4.4</p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
<span style="color: #ff7700;font-weight:bold;">from</span> PyQt4 <span style="color: #ff7700;font-weight:bold;">import</span> QtCore, QtGui
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> Ui_MainWindow<span style="color: black;">&#40;</span><span style="color: #008000;">object</span><span style="color: black;">&#41;</span>:
   <span style="color: #ff7700;font-weight:bold;">def</span> setupUi<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, MainWindow<span style="color: black;">&#41;</span>:
      MainWindow.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;MainWindow&quot;</span><span style="color: black;">&#41;</span>
      MainWindow.<span style="color: black;">resize</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">800</span>, <span style="color: #ff4500;">600</span><span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">centralwidget</span> = QtGui.<span style="color: black;">QWidget</span><span style="color: black;">&#40;</span>MainWindow<span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">centralwidget</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;centralwidget&quot;</span><span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">label</span> = QtGui.<span style="color: black;">QLabel</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">centralwidget</span><span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">label</span>.<span style="color: black;">setGeometry</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QRect</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">210</span>, <span style="color: #ff4500;">90</span>, <span style="color: #ff4500;">351</span>, <span style="color: #ff4500;">231</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
      movie = QtGui.<span style="color: black;">QMovie</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;progress.gif&quot;</span><span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">label</span>.<span style="color: black;">setMovie</span><span style="color: black;">&#40;</span>movie<span style="color: black;">&#41;</span>
      movie.<span style="color: black;">start</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
      <span style="color: #483d8b;">&quot;&quot;&quot;
&nbsp;
      ** PyQt sürümünüzün gif destegi olup olmadigini commentleri kaldirarak gorebilirsiniz
&nbsp;
      formats = QtGui.QImageReader.supportedImageFormats ()
      for i in formats:
         print i
&nbsp;
      &quot;&quot;&quot;</span>
&nbsp;
      <span style="color: #008000;">self</span>.<span style="color: black;">label</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;label&quot;</span><span style="color: black;">&#41;</span>
      MainWindow.<span style="color: black;">setCentralWidget</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">centralwidget</span><span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">menubar</span> = QtGui.<span style="color: black;">QMenuBar</span><span style="color: black;">&#40;</span>MainWindow<span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">menubar</span>.<span style="color: black;">setGeometry</span><span style="color: black;">&#40;</span>QtCore.<span style="color: black;">QRect</span><span style="color: black;">&#40;</span>0, 0, <span style="color: #ff4500;">800</span>, <span style="color: #ff4500;">29</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">menubar</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;menubar&quot;</span><span style="color: black;">&#41;</span>
      MainWindow.<span style="color: black;">setMenuBar</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">menubar</span><span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">statusbar</span> = QtGui.<span style="color: black;">QStatusBar</span><span style="color: black;">&#40;</span>MainWindow<span style="color: black;">&#41;</span>
      <span style="color: #008000;">self</span>.<span style="color: black;">statusbar</span>.<span style="color: black;">setObjectName</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;statusbar&quot;</span><span style="color: black;">&#41;</span>
      MainWindow.<span style="color: black;">setStatusBar</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">statusbar</span><span style="color: black;">&#41;</span>
&nbsp;
      <span style="color: #008000;">self</span>.<span style="color: black;">retranslateUi</span><span style="color: black;">&#40;</span>MainWindow<span style="color: black;">&#41;</span>
      QtCore.<span style="color: black;">QMetaObject</span>.<span style="color: black;">connectSlotsByName</span><span style="color: black;">&#40;</span>MainWindow<span style="color: black;">&#41;</span>
&nbsp;
   <span style="color: #ff7700;font-weight:bold;">def</span> retranslateUi<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, MainWindow<span style="color: black;">&#41;</span>:
      MainWindow.<span style="color: black;">setWindowTitle</span><span style="color: black;">&#40;</span>QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">translate</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;MainWindow&quot;</span>, <span style="color: #483d8b;">&quot;MainWindow&quot;</span>, <span style="color: #008000;">None</span>, QtGui.<span style="color: black;">QApplication</span>.<span style="color: black;">UnicodeUTF8</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
   app=QtGui.<span style="color: black;">QApplication</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span>
   window=QtGui.<span style="color: black;">QMainWindow</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
   ui=Ui_MainWindow<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
   ui.<span style="color: black;">setupUi</span><span style="color: black;">&#40;</span>window<span style="color: black;">&#41;</span>
   window.<span style="color: black;">show</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
   <span style="color: #dc143c;">sys</span>.<span style="color: black;">exit</span><span style="color: black;">&#40;</span>app.<span style="color: black;">exec_</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/pyqt-animated-gif-macerasi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adam asmaca</title>
		<link>http://pythonturk.com/adam-asmaca/</link>
		<comments>http://pythonturk.com/adam-asmaca/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 22:41:00 +0000</pubDate>
		<dc:creator>pythonturk</dc:creator>
		
		<category><![CDATA[j2me]]></category>

		<category><![CDATA[oyun]]></category>

		<guid isPermaLink="false">http://pythonturk.com/?p=82</guid>
		<description><![CDATA[Uzuuun bir aradan sonra tekrar birlikteyiz. Buraya her yazdığımda utanıyorum nedense. Bir önceki  yazının üzerinden uzun bir süre geçmiş oluyor çünkü. Ama utanıyorum bu size bir anlam ifade ediyordur umarım  
Tezimin içinde kullandığım bir oyundu adam asmaca. Kodu satır satır açıklamayacağım. Önemli gördüğüm yerlerde açıklama satırları kullandım. Uygulamayı Nokia 6300&#8242;da denedim sorunsuz çalışıyor. Kendi [...]]]></description>
			<content:encoded><![CDATA[<p>Uzuuun bir aradan sonra tekrar birlikteyiz. Buraya her yazdığımda utanıyorum nedense. Bir önceki  yazının üzerinden uzun bir süre geçmiş oluyor çünkü. Ama utanıyorum bu size bir anlam ifade ediyordur umarım <img src='http://pythonturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Tezimin içinde kullandığım bir oyundu adam asmaca. Kodu satır satır açıklamayacağım. Önemli gördüğüm yerlerde açıklama satırları kullandım. Uygulamayı Nokia 6300&#8242;da denedim sorunsuz çalışıyor. Kendi telefonunuzda canvas çizimlerinde kaymalar olursa (-ki olacağını sanmıyorum oranlama yapacak şekilde ayarladım) koordinatları ona göre değiştirirsiniz.</p>
<p>Kullandığım teknolojiler:</p>
<p>IDE: NetBeans (mobil pack)</p>
<p>OS: Pardus</p>
<p>Dil: Java(J2Me)</p>
<p>Kodlar çok uzun olduğu için buraya koymayacağım, jar dosyasını (telefonunuza kuracağınız dosya) <a href="http://pythonturk.com/wp-content/uploads/2009/02/adamasmaca.jar">buradan</a>, kaynak kodunu (ek dosyalarla birlikte) <a href="http://pythonturk.com/wp-content/uploads/2009/02/adamasmaca.zip">buradan</a> indirebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://pythonturk.com/adam-asmaca/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
