diff options
Diffstat (limited to 'python/pyqt/examples3/richtext.py')
-rwxr-xr-x | python/pyqt/examples3/richtext.py | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/python/pyqt/examples3/richtext.py b/python/pyqt/examples3/richtext.py new file mode 100755 index 00000000..8ec4b0b4 --- /dev/null +++ b/python/pyqt/examples3/richtext.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python + +"""************************************************************************** +** $Id$ +** +** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. +** +** This file is part of an example program for Qt. This example +** program may be used, distributed and modified without limitation. +** +***************************************************************************""" + +import sys +from qt import * + +sayings = [ + "<b>Saying 1:</b><br>" + "<hr><br><br>" + "<big>Evil is that which one believes of others. It is a sin to believe evil " + "of others, but it is seldom a mistake.</big><br><br>" + "<center><i>-- H.L. Mencken</i></center>", + + "<b>Saying 2:</b><br>" + "<hr><br><br>" + "<big>A well-used door needs no oil on its hinges.<br>" + "A swift-flowing steam does not grow stagnant.<br>" + "Neither sound nor thoughts can travel through a vacuum.<br>" + "Software rots if not used.<br><br>" + "These are great mysteries.</big><br><br>" + "<center><i>-- Geoffrey James, \"The Tao of Programming\"</i></center>", + + "<b>Saying 3:</b><br>" + "<hr><br><br>" + "<big>Show business is just like high school, except you get paid.</big><br><br>" + "<center><i>-- Martin Mull</i></center>", + + "<b>Saying 4:</b><br>" + "<hr><br><br>" + "<big><b>The Least Successful Executions</b><br>" + "<twocolumn><p> History has furnished us with two executioners worthy of attention. " + "The first performed in Sydney in Australia. In 1803 three attempts were " + "made to hang a Mr. Joseph Samuels. On the first two of these the rope " + "snapped, while on the third Mr. Samuels just hung there peacefully until he " + "and everyone else got bored. Since he had proved unsusceptible to capital " + "punishment, he was reprieved.</p>" + "<p> The most important British executioner was Mr. James Berry who " + "tried three times in 1885 to hang Mr. John Lee at Exeter Jail, but on each " + "occasion failed to get the trap door open.<!p>" + "<p> In recognition of this achievement, the Home Secretary commuted " + "Lee's sentence to \"life\" imprisonment. He was released in 1917, emigrated " + "to America and lived until 1933.</p></twocolumn></big><br><br>" + "<center><i>-- Stephen Pile, \"The Book of Heroic Failures\"</i></center>", + + "<b>Saying 5:</b><br>" + "<hr><br><br>" + "<big>If you can, help others. If you can't, at least don't hurt others.</big><br><br>" + "<center><i>-- the Dalai Lama</i></center>", + + "<b>Saying 6:</b><br>" + "<hr><br><br>" + "<big>Television has brought back murder into the home -- where it belongs.</big><br><br>" + "<center><i>-- Alfred Hitchcock</i></center>", + + "<b>Saying 7:</b><br>" + "<hr><br><br>" + "<big>I don't know who my grandfather was; I am much more concerned to know " + "what his grandson will be.</big><br><br>" + "<center><i>-- Abraham Lincoln</i></center>", + + 0 +] + +class MyRichText( QVBox ): + def __init__( self, parent = None, name = None ): + QVBox.__init__( self, parent, name ) + + self.setMargin( 5 ) + + self.view = QTextView( self ) + #self.view.setText( "This is a <b>Test</b> with <i>italic</i> <u>stuff</u>" ) + paper = QBrush() + paper.setPixmap( QPixmap( "marble.png" ) ) + if paper.pixmap() != 0 : + self.view.setPaper( paper ) + else : + self.view.setPaper( white ) + + self.view.setText( sayings[0] ) + self.view.setMinimumSize( 450, 250 ) + + buttons = QHBox( self ) + buttons.setMargin( 5 ) + + self.bClose = QPushButton( "&Close", buttons ) + self.bPrev = QPushButton( "<< &Prev", buttons ) + self.bNext = QPushButton( "&Next >>", buttons ) + + self.bPrev.setEnabled( False ) + + self.connect( self.bClose, SIGNAL("clicked()"), qApp, SLOT("quit()") ) + self.connect( self.bPrev, SIGNAL("clicked()"), self.prev ) + self.connect( self.bNext, SIGNAL("clicked()"), self.next ) + + self.num = 0 + + def prev( self ): + if self.num <= 0 : + return + self.num -= 1 + self.view.setText( sayings[self.num] ) + if self.num == 0 : + self.bPrev.setEnabled( False ) + self.bNext.setEnabled( True ) + + def next( self ): + self.num += 1 + if not sayings[self.num]: + return + self.view.setText( sayings[self.num] ) + if not sayings[self.num + 1]: + self.bNext.setEnabled( False ) + self.bPrev.setEnabled( True ) + +def main( args ): + a = QApplication(sys.argv) # application object + + richtext = MyRichText() + richtext.resize( 450, 350 ); + richtext.setCaption( "Qt Example - Richtext" ) + a.setMainWidget( richtext ) + richtext.show() + + a.exec_loop() + +if __name__=="__main__": + main(sys.argv) |