ehm ja ich erstelle beim Programm start ein neues Widget dann bei openFile und zu letzt beim neuen Dokument. Ich poste mal den ganzen Code dann könnt ihr mehr damit anfangen hoffe ich:
Das ist die Editor .cpp
Code: Alles auswählen
MyEditor::MyEditor(QMainWindow *parent) : QMainWindow(parent)
{
MyEditor::showMaximized();
this->setCentralWidget(new QWidget(this)); //Das MainWindow erstellen und anzeigen
//Statusbar hinzufügen
(void*)statusBar();
//Datei, Bearbeiten etc. hinzufügen
QMenu *fileMenu = new QMenu(tr("&Datei"), this);
menuBar()->addMenu(fileMenu);
QMenu *workMenu = new QMenu(tr("&Bearbeiten"), this);
menuBar()->addMenu(workMenu);
QMenu *settingMenu = new QMenu(tr("&Einstellungen"), this);
menuBar()->addMenu(settingMenu);
QMenu *helpMenu = new QMenu(tr("&Hilfe"), this);
menuBar()->addMenu(helpMenu);
//Untermenüs bei Datei
fileMenu->addAction(QIcon("../img/icons/new.png"), tr("&Neue Dokument"), this, SLOT( newFile() ),
QKeySequence(tr("Ctrl+N", "Datei|Neu")));
fileMenu->addAction(QIcon("../img/icons/open.png"), tr("&Öffnen..."), this, SLOT( openFile() ),
QKeySequence(tr("Ctrl+O", "Datei|Öffnen")));
fileMenu->addAction(QIcon("../img/icons/save.png"), tr("&Speichern unter"), this, SLOT( saveFile() ),
QKeySequence(tr("Ctrl+S", "Datei|Speichern")));
fileMenu->addAction(QIcon("../img/icons/close.png"), tr("&Beenden"), qApp, SLOT( quit() ),
QKeySequence(tr("Ctrl+B", "Datei|Beenden")));
//Erzeugen des Textbereiches
textEdit = new QTextEdit;
//Erzeugen des TabWidgets
tab = new QTabWidget;
tab->addTab(textEdit, "Neue Datei");
tab->show();
setCentralWidget(tab);
}
void MyEditor::newFile()
{
textEdit = new QTextEdit;
tab->addTab(textEdit, "Neue Datei");
}
void MyEditor::openFile()
{
textEdit = new QTextEdit;
QString fileName = QFileDialog::getOpenFileName(
this, "Bitte eine Datei wählen",
QDir::homePath(), "Textdatei (*.txt);;"
"HTML - Quelldatei (*.html *.htm);;"
"PhP - Quelldatei (*.php);;"
"Cascading Stylesheet (*.css)");
if (!fileName.isEmpty()) {
QFile file(fileName);
if (file.open(QFile::ReadOnly | QFile::Text))
textEdit->insertPlainText(file.readAll());
statusBar()->showMessage( tr("Datei erfolgreich geöffnet"), 5000 );
tab->addTab(textEdit, fileName);
}
}
void MyEditor::saveFile()
{
QString fileName = QFileDialog::getSaveFileName(
this, tr("Datei Speichern"), "", "Textdatei (*.txt);;"
"HTML - Quelldatei (*.html *.htm);;"
"PhP - Quelldatei (*.php);;"
"Cascading Stylesheet (*.css)");
if( fileName.isEmpty() ) return;
QFile file(fileName);
if( file.open(QIODevice::WriteOnly|QIODevice::Text) )
{
file.write(textEdit->toPlainText().toUtf8());
statusBar()->showMessage( tr("Datei erfolgreich gespeichert"), 5000 );
}
}
[/b]