kde-playground/pykde4/examples/default.py

85 lines
2.7 KiB
Python

import sys, os.path
from random import randint
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QPixmap, QLabel
from PyKDE4.kdecore import i18n
from PyKDE4.kdeui import KVBox, KHBox
imagePath = sys.path [0]
helpText = """There is no example for this widget or class.
Write a short example program (see "Contributing to PyKDE4")
and become famous, respected and more familiar with PyKDE.
(You can make the Doc tab focus instead of the Sample tab
by changing the "Favor" setting in the settings dialog")
"""
class MainFrame(KVBox):
def __init__(self, parent = None):
KVBox.__init__(self, parent)
self.help = QLabel (helpText, self)
self.layout ().setAlignment (self.help, Qt.AlignHCenter)
self.setMargin (40)
# choose an image at random
self.pix = QPixmap (os.path.join (imagePath, "poster%i.png" % randint (0, 6)))
hBox = KHBox (self)
self.poster = QLabel (hBox)
self.poster.setPixmap (self.pix)
self.layout ().setAlignment (hBox, Qt.AlignHCenter)
self.setStretchFactor (hBox, 1)
# This example can be run standalone
if __name__ == '__main__':
import sys
from PyQt4.QtCore import SIGNAL
from PyKDE4.kdecore import KCmdLineArgs, KAboutData, KLocalizedString, ki18n
from PyKDE4.kdeui import KApplication, KMainWindow
class MainWin (KMainWindow):
def __init__ (self, *args):
KMainWindow.__init__ (self)
self.resize (640, 600)
self.setCentralWidget (MainFrame (self))
#-------------------- main ------------------------------------------------
appName = "default"
catalog = ""
programName = ki18n ("default") #ki18n required here
version = "1.0"
description = ki18n ("Default Example") #ki18n required here
license = KAboutData.License_GPL
copyright = ki18n ("(c) 2007 Jim Bublitz") #ki18n required here
text = ki18n ("none") #ki18n required here
homePage = "www.riverbankcomputing.com"
bugEmail = "jbublitz@nwinternet.com"
aboutData = KAboutData (appName, catalog, programName, version, description,
license, copyright, text, homePage, bugEmail)
# ki18n required for first two addAuthor () arguments
aboutData.addAuthor (ki18n ("Troy Melhase"), ki18n ("original concept"))
aboutData.addAuthor (ki18n ("Jim Bublitz"), ki18n ("pykdedocs"))
KCmdLineArgs.init (sys.argv, aboutData)
app = KApplication ()
mainWindow = MainWin (None, "main window")
mainWindow.show ()
app.connect (app, SIGNAL ("lastWindowClosed ()"), app.quit)
app.exec_ ()