Herşey Linux ile başladı.

Pardus deneyimlerim

Mesajlar Etiketlendi ‘Qt4’

Python-PyQt-QT4 Türkçe Kaynaklar

Posted by okursat Mart 15, 2009

Python ve PyQt ile ilgili galiba en çok Türkçe kaynak bulmak konusunda zorlanıyorum. Bulduğum kaynakları burada paylaşayım ki hem ben unutmam hem de meraklısı olanlar da kullanır.

Python ve PyQt için buraya, özellikle PyQt’ ye giriş için güzel bir kaynak.

Python ve Tkinter için internette gördüğüm en geniş Türkçe kaynak için buraya. Şuanda Python 3.0 bölümü eklendi.

Şimdi vereceğim adres bir kurs sitesi, sakın reklam yaptığımı sanmayın, bu siteyi eklememin amacı kod örnekleri olmasındandır. Göz atmak için buraya.

Resmi olmayan Python grubunun yeri için buraya.

Python Türk sitesi için buraya.

Belgeler.org içindeki Python belgeleri için buraya.

Python ile ilgili yazıların olduğu güzel bir blog, giriş buradan.

Ömer Ücel adlı vatandaşımızın günlüğüde bakılmaya değer bilgiler içeriyor. Buradan.

QT4 Türkçe kaynak için buraya.

Yazı kategorisi: Python | Etiketler: , , , | » yorum bırak;

Sayısal-Random-Python-QT4

Posted by okursat Mart 6, 2009

Bir önceki yazıda belirttiğim Sayısal(Altılı da olabilir ismi) için küçük bir arayüz tasarladım. Ortaya aşağıdaki gibi bir görünüm çıktı.

rasgele

rasgele1

Aşağıdaki kodları bir dosya içerisine kopyalayıp rasgele.py adı ile kadederek, konsolda python rasgele.py komutunu vererek çalıştırabilirsiniz.

Yazının devamını oku »

Yazı kategorisi: Python | Etiketler: , , , , | » yorum bırak;

İlk PyQt Arayüz Çalışmam-Qt4

Posted by okursat Mart 4, 2009

İlk arayüz çalışmamı yaptım ve hemen paylaşmak istedim. Arayüz çalışmasını QT4 ile gerçekleştirdim. Bu gerçek anlamda ilk QT4 deneyimim. QT4′ ün tasarımcıya çok büyük kolaylıklar sağlayan arabirimi ve kullanışlılığı sayesinde arayüz tasarımım 5 dakika gibi kısa bir sürede bitti. Zaten işin QT4 kısmı basit ve zevkli. İşin zor bölümü  ise tasarladığınız arayüz ile yazdığınız kodların entegre edilmesi. Bütün bu işlemleri yapabilmemiz için bildiğiniz üzere sistemimizde Qt4 ve Python kurulu olmalıdır.

QT4 ile arayüz çalışmalarından görüntüler aşağıdaki gibi olacak.

qt1

Yukarıda görüldüğü gibi gerekli bileşenleri formumuza sürükleyerek ekliyoruz.

qt3

Ve düğmelere fonksiyon atayarak arayüz çalışmamız burada bitiyor. Bu arada arayüz çalışmaları ile ilgili pek fazla bir açıklama yazmadım. Bunu bir kaç sebebi var. Birincisi daha yeni öğreniyorum, yeterli bilgim yok. İkincisi en iyi öğrenme yollarından biri deneme yanılmadır. PyQt ile ilgili buradaki örneklere bakabilirsiniz. Anlatımı çok güzel.

Arayüzü oluşturduktan sonra sıkıntılı olan (benim için) Python kodları ile entegre etme işlemini yaptım. Kodların son hali aşağıdaki gibi oldu.

# -*- coding: utf-8 -*-

from PyQt4 import QtCore, QtGui
from datetime import date
import sys
class ogren:
def __init__(self, ui):
self.ui = ui

def bilgi(self):
global bugun
global dg
global yas
bugun = date.today()
ui.label_6.setText(u”Bugün :”)
ui.label_7.setText(str(bugun))
ui.label_5.setText(u”Alanları doldurup Öğren tuşuna tıklayın.”)
yol = int(ui.lineEdit.text())
ay = int(ui.lineEdit_2.text())
gun = int(ui.lineEdit_3.text())
dg = date(yol, ay, gun)
yas = bugun – dg
ui.lineEdit.clear()
ui.lineEdit_2.clear()
ui.lineEdit_3.clear()
ui.label_4.setText(str(yas))

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(“MainWindow”)
MainWindow.resize(438, 387)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(“centralwidget”)
self.lineEdit = QtGui.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(70, 80, 113, 29))
self.lineEdit.setObjectName(“lineEdit”)
self.lineEdit_2 = QtGui.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(70, 110, 113, 29))
self.lineEdit_2.setObjectName(“lineEdit_2″)
self.lineEdit_3 = QtGui.QLineEdit(self.centralwidget)
self.lineEdit_3.setGeometry(QtCore.QRect(70, 140, 113, 29))
self.lineEdit_3.setObjectName(“lineEdit_3″)
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(20, 240, 131, 28))
self.pushButton.setObjectName(“pushButton”)
self.pushButton_2 = QtGui.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(150, 240, 106, 28))
self.pushButton_2.setObjectName(“pushButton_2″)
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(30, 80, 62, 19))
self.label.setObjectName(“label”)
self.label_2 = QtGui.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(30, 110, 62, 19))
self.label_2.setObjectName(“label_2″)
self.label_3 = QtGui.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(30, 140, 62, 19))
self.label_3.setObjectName(“label_3″)
self.label_4 = QtGui.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(30, 210, 231, 19))
self.label_4.setObjectName(“label_4″)
self.label_5 = QtGui.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(10, 20, 421, 20))
self.label_5.setObjectName(“label_5″)
self.label_6 = QtGui.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(260, 50, 62, 19))
self.label_6.setObjectName(“label_6″)
self.label_7 = QtGui.QLabel(self.centralwidget)
self.label_7.setGeometry(QtCore.QRect(320, 50, 111, 19))
self.label_7.setObjectName(“label_7″)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 438, 27))
self.menubar.setObjectName(“menubar”)
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(“statusbar”)
MainWindow.setStatusBar(self.statusbar)

self.retranslateUi(MainWindow)
self.ogren = ogren(self)
QtCore.QObject.connect(self.pushButton_2, QtCore.SIGNAL(“clicked()”), MainWindow.close)
QtCore.QObject.connect(self.pushButton,QtCore.SIGNAL(“clicked()”),self.ogren.bilgi)
QtCore.QObject.connect(self.lineEdit_3, QtCore.SIGNAL(“returnPressed()”), self.pushButton.animateClick)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate(“MainWindow”, “Kaç Gün Yaşadın”, None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate(“MainWindow”, “Öğ&ren”, None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_2.setText(QtGui.QApplication.translate(“MainWindow”, “&Kapat”, None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate(“MainWindow”, “Yıl”, None, QtGui.QApplication.UnicodeUTF8))
self.label_2.setText(QtGui.QApplication.translate(“MainWindow”, “Ay”, None, QtGui.QApplication.UnicodeUTF8))
self.label_3.setText(QtGui.QApplication.translate(“MainWindow”, “Gün”, None, QtGui.QApplication.UnicodeUTF8))
self.label_4.setText(QtGui.QApplication.translate(“MainWindow”, “…”, None, QtGui.QApplication.UnicodeUTF8))
self.label_5.setText(QtGui.QApplication.translate(“MainWindow”, “Alanları doldurup Öğren tuşuna tıklayın.”, None, QtGui.QApplication.UnicodeUTF8))
self.label_6.setText(QtGui.QApplication.translate(“MainWindow”, “Bugün :”, None, QtGui.QApplication.UnicodeUTF8))
self.label_7.setText(QtGui.QApplication.translate(“MainWindow”, ” “, None, QtGui.QApplication.UnicodeUTF8))
app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)

window.show()
sys.exit(app.exec_())

Ve son olarak dosyayı python ogren.py komutu ile konsoldan çalıştırdığımda aldığım ekran görüntüleri aşağıda.

datetime1datetime2datetime3datetime4

Mutlu son. Tabiiki program çok ilkel, ne de olsa yeni başladım. Vakit buldukça arayüz denemelerine devam edeceğim ve paylaşacağım.

Yazı kategorisi: Python | Etiketler: , , , , , | » yorum bırak;

 
Takip Et

Get every new post delivered to your Inbox.