Главная страница

Простейший текстовый редактор. Программная платформа Windows XP SP3.

Язык С++. Библиотека классов Qt 3.3.8

(неофициальная версия для Windows, свободно есть в интернете).

Приложение с графическим интерфейсом.

Программа состоит из трех файлов с кодом editor2.cpp, editor2.h, main.cpp

и трех графических файлов fileopen.png, filesave.png, filenew.png,

которые являются кнопками панели инструментов. Файлы fileopen.png, filesave.png, filenew.png

следует записать в папку "images", ниже размещены эти файлы для сохранения:

Программная платформа Win32 - это один из вариантов.

Библиотека Qt 3.3.8 работает на дистрибутивах Linux (Ubuntu, Debian, Fedora и других).

Файл "editor2.cpp" #include "editor2.h" #include <qmainwindow.h> #include <qfiledialog.h> #include <qmenubar.h> #include <qpopupmenu.h> #include <qtextedit.h> #include <qstring.h> #include <qfile.h> #include <qtextstream.h> #include <qtoolbar.h> #include <qtoolbutton.h> #include <qiconset.h> #include <qpixmap.h> QEditor::QEditor():QMainWindow(0,0,WType_TopLevel) { setCaption("Текстовый редактор"); setGeometry(100,100,700,500); QMenuBar * mb1=QMainWindow::menuBar(); QPopupMenu *pm1=new QPopupMenu(); pm1->insertItem("Открыть",this,SLOT(openfile()),Key_F1); pm1->insertItem("Сохранить",this,SLOT(savefile()),Key_F2); pm1->insertItem("Новый",this,SLOT(closefile()),Key_F3); mb1->insertItem("Операции",pm1); QToolBar *tb1=new QToolBar(this,0); QToolButton *tbopen=new QToolButton(tb1,0); tbopen->setPixmap( QPixmap::fromMimeSource( "fileopen.png" ) ); QObject::connect(tbopen,SIGNAL(clicked()),this,SLOT(openfile())); QToolButton *tbsave=new QToolButton(tb1,0); tbsave->setPixmap( QPixmap::fromMimeSource( "filesave.png" ) ); QObject::connect(tbsave,SIGNAL(clicked()),this,SLOT(savefile())); QToolButton *tbclose=new QToolButton(tb1,0); tbclose->setPixmap( QPixmap::fromMimeSource( "filenew.png" ) ); QObject::connect(tbclose,SIGNAL(clicked()),this,SLOT(closefile())); te1=new QTextEdit(this); setCentralWidget(te1); } void QEditor::openfile() { QFileDialog *fd=new QFileDialog(0,0,TRUE); fd->setGeometry(100,100,400,400); fd->setCaption("Выберите файл"); fd->exec(); QString filename=fd->selectedFile(); QFile fa1(filename); fa1.open(IO_ReadOnly); QTextStream ts1(&fa1); te1->setText(ts1.read()); } void QEditor::savefile() { QString fn = QFileDialog::getSaveFileName( QString::null, QString::null,0, "fd2","Выберите файл или введите имя нового файла"); QFile fa2( fn ); fa2.open( IO_WriteOnly ); QTextStream ts2( &fa2 ); ts2 << te1->text(); } void QEditor::closefile() { te1->clear(); } Файл "editor2.h" #ifndef QEDITOR_H #define QEDITOR_H #include <qmainwindow.h> #include <qtextedit.h> class QEditor : public QMainWindow { Q_OBJECT public: QEditor(); public slots: void openfile(); void closefile(); void savefile(); private: QTextEdit *te1; }; #endif Файл "main.cpp" #include <qapplication.h> #include "editor2.h" int main( int argc, char ** argv ) { QApplication a( argc, argv ); QEditor *mw1 = new QEditor(); a.setMainWidget(mw1); a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) ); mw1->show(); return a.exec(); } Главная страница
Хостинг от uCoz