# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'widget.ui'
#
# Created: Thu Jan 19 21:53:03 2009
# by: PyQt4 UI code generator 4.4.4
#
# Yazan : Aydın Şen
from PyQt4 import QtCore, QtGui
import sys
class Ui_Form(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setObjectName("Picture Viewer")
"""
# 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
"""
self.pixMap = QtGui.QPixmap("pict_frame.jpg")
# Ana pencerenin enini ve boyunu yukledigimiz resme gore ayarliyoruz
self.w = self.pixMap.width()
self.h = self.pixMap.height()
# Ana penceremizi yeni boyutuna resize ediyoruz
self.resize(self.w, self.h)
# Kestigimiz pencereye arkaplan olarak doseyecegimiz label'imizi tanimliyoruz
self.labelBackground = QtGui.QLabel(self)
self.labelBackground.setObjectName("labelBackground")
self.labelBackground.setPixmap(self.pixMap)
# Penceremize title ve icon verilerini giriyoruz
self.setWindowTitle("Picture Viewer")
self.setWindowIcon(QtGui.QIcon("windowIcon.png"))
"""
# 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"""
self.butClose = QtGui.QPushButton(self)
self.butClose.setGeometry(QtCore.QRect(365, 4, 25, 25))
paletteButImage = QtGui.QPalette()
brush = QtGui.QBrush(QtGui.QColor(239, 239, 239, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
paletteButImage.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
paletteButImage.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Shadow, brush)
brush = QtGui.QBrush(QtGui.QColor(239, 239, 239, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
paletteButImage.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
paletteButImage.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Shadow, brush)
brush = QtGui.QBrush(QtGui.QColor(239, 239, 239, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
paletteButImage.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
paletteButImage.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Shadow, brush)
self.butClose.setPalette(paletteButImage)
self.butClose.setFocusPolicy(QtCore.Qt.NoFocus)
# butona koyacagimiz resmi yukledik
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("btn_close.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.butClose.setIcon(icon)
self.butClose.setIconSize(QtCore.QSize(21, 21))
self.butClose.setFlat(True)
self.butClose.setObjectName("butClose")
self.butMinimize = QtGui.QPushButton(self)
self.butMinimize.setGeometry(QtCore.QRect(340, 4, 25, 25))
self.butMinimize.setPalette(paletteButImage)
self.butMinimize.setFocusPolicy(QtCore.Qt.NoFocus)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap("btn_min.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.butMinimize.setIcon(icon1)
self.butMinimize.setIconSize(QtCore.QSize(21, 21))
self.butMinimize.setFlat(True)
self.butMinimize.setObjectName("butMinimize")
self.butNext = QtGui.QPushButton(self)
self.butNext.setGeometry(QtCore.QRect(230, 300, 50, 35))
self.butNext.setPalette(paletteButImage)
self.butNext.setFocusPolicy(QtCore.Qt.NoFocus)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap("btn_right_arrow.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.butNext.setIcon(icon2)
self.butNext.setIconSize(QtCore.QSize(45, 28))
self.butNext.setFlat(True)
self.butNext.setObjectName("butNext")
self.butPrevious = QtGui.QPushButton(self)
self.butPrevious.setGeometry(QtCore.QRect(140, 300, 50, 35))
self.butPrevious.setPalette(paletteButImage)
self.butPrevious.setFocusPolicy(QtCore.Qt.NoFocus)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap("btn_left_arrow.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.butPrevious.setIcon(icon3)
self.butPrevious.setIconSize(QtCore.QSize(45, 28))
self.butPrevious.setFlat(True)
self.butPrevious.setObjectName("butPrevious")
"""
# Butonlar icin toolTip girdik
# Kapat ve Minimize butonlarinin actionlarini belirledik
# ileri ve geri butonlarina herhangi bir action atamadik
"""
self.butClose.setToolTip(QtGui.QApplication.translate("Form", "Kapat", None, QtGui.QApplication.UnicodeUTF8))
self.butMinimize.setToolTip(QtGui.QApplication.translate("Form", "Simge durumuna küçült", None, QtGui.QApplication.UnicodeUTF8))
self.butNext.setToolTip(QtGui.QApplication.translate("Form", "Sonraki", None, QtGui.QApplication.UnicodeUTF8))
self.butPrevious.setToolTip(QtGui.QApplication.translate("Form", "Önceki", None, QtGui.QApplication.UnicodeUTF8))
QtCore.QObject.connect(self.butClose, QtCore.SIGNAL("clicked()"), self.close)
QtCore.QObject.connect(self.butMinimize, QtCore.SIGNAL("clicked()"), self.showMinimized)
self.setWindowTitle(QtGui.QApplication.translate("Form", "Picture Viewer", None, QtGui.QApplication.UnicodeUTF8))
self.ortala()
def ortala(self):
"""
# Bu fonksiyon uygulama calistiginda pencerenin ekranin
# ortasine yerlesmesini sagliyor
"""
screen = QtGui.QDesktopWidget().screenGeometry()
size = self.geometry()
self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
def mousePressEvent(self, event):
"""
# Kendimize ozel pencere belirledigimiz icin mouse eventlarini override ediyoruz
"""
if event.button() == QtCore.Qt.LeftButton:
self.dragPosition = event.globalPos() - self.frameGeometry().topLeft()
event.accept()
def mouseMoveEvent(self, event):
if event.buttons() == QtCore.Qt.LeftButton:
self.move(event.globalPos() - self.dragPosition)
event.accept()
def resizeEvent(self, event):
"""
# Eveeeet, uygulamamizin esas oglani!!!!!
# Pencereyi "kesip-bictigimiz" 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..
"""
maske = self.pixMap.createMaskFromColor(QtGui.QColor(0,0,0,0))
self.setMask(maske)
def main():
app=QtGui.QApplication(sys.argv)
form = Ui_Form()
form.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()