Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
This example lets you enter a text into a mulitilineedit widget. It will be displayed in the edit widget to the right transformed using the rot13 algorithm.
Header file:
/**************************************************************************** ** $Id: qt/rot13.h 3.3.8 edited Jan 11 14:46 $ ** ** Definition of something or other ** ** Created : 979899 ** ** Copyright (C) 1997-2007 Trolltech ASA. All rights reserved. ** ** This file is part of an example program for TQt. This example ** program may be used, distributed and modified without limitation. ** *****************************************************************************/ #ifndef ROT13_H #define ROT13_H #include <qwidget.h> class TQMultiLineEdit; class Rot13: public TQWidget { Q_OBJECT public: Rot13(); TQString rot13( const TQString & ) const; private slots: void changeLeft(); void changeRight(); private: TQMultiLineEdit * left, * right; }; #endif
Implementation:
/**************************************************************************** ** $Id: qt/rot13.cpp 3.3.8 edited Jan 11 14:37 $ ** ** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved. ** ** This file is part of an example program for TQt. This example ** program may be used, distributed and modified without limitation. ** *****************************************************************************/ #include "rot13.h" #include <qmultilineedit.h> #include <qpushbutton.h> #include <qapplication.h> #include <qlayout.h> Rot13::Rot13() { left = new TQMultiLineEdit( this, "left" ); right = new TQMultiLineEdit( this, "right" ); connect( left, SIGNAL(textChanged()), this, SLOT(changeRight()) ); connect( right, SIGNAL(textChanged()), this, SLOT(changeLeft()) ); TQPushButton * quit = new TQPushButton( "&Quit", this ); quit->setFocusPolicy( NoFocus ); connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) ); TQGridLayout * l = new TQGridLayout( this, 2, 2, 5 ); l->addWidget( left, 0, 0 ); l->addWidget( right, 0, 1 ); l->addWidget( quit, 1, 1, AlignRight ); left->setFocus(); } void Rot13::changeLeft() { left->blockSignals( TRUE ); left->setText( rot13( right->text() ) ); left->blockSignals( FALSE ); } void Rot13::changeRight() { right->blockSignals( TRUE ); right->setText( rot13( left->text() ) ); right->blockSignals( FALSE ); } TQString Rot13::rot13( const TQString & input ) const { TQString r = input; int i = r.length(); while( i-- ) { if ( r[i] >= TQChar('A') && r[i] <= TQChar('M') || r[i] >= TQChar('a') && r[i] <= TQChar('m') ) r[i] = (char)((int)TQChar(r[i]) + 13); else if ( r[i] >= TQChar('N') && r[i] <= TQChar('Z') || r[i] >= TQChar('n') && r[i] <= TQChar('z') ) r[i] = (char)((int)TQChar(r[i]) - 13); } return r; } int main( int argc, char ** argv ) { TQApplication a( argc, argv ); Rot13 r; r.resize( 400, 400 ); a.setMainWidget( &r ); r.setCaption("TQt Example - ROT13"); r.show(); return a.exec(); }
See also Examples.
Copyright © 2007 Trolltech | Trademarks | TQt 3.3.8
|