[gelöst] QFile, QFileDialog, QDataStream
Auf die schnelle fallen mir drei Möglichkeiten, die davon abhängen, was du willst.
Soll diese Nachricht nur für dich als Kontrolle dienen oder soll der Benutzer eine Rückmeldung bekommen?
Für ersteres kannst du einfach die Methode qDebug() nutzen. (nicht vergessen QDebug zu includen)
Wenn es aber an den Benutzer gerichtet ist, kannst du z.B. folgendes in Betracht ziehen:
Entweder du setzt dein Widget in ein QMainwindow hinein und schreibst es dort in die Statusbar.
Oder du lässt den Benutzer durch ne Messagebox oder ähnliches informieren. (wobei mich das als Benutzer eher nerven würde).
Am besten du legst ein QMainWindow zugrunde.
Gruß jerry42
Soll diese Nachricht nur für dich als Kontrolle dienen oder soll der Benutzer eine Rückmeldung bekommen?
Für ersteres kannst du einfach die Methode qDebug() nutzen. (nicht vergessen QDebug zu includen)
Wenn es aber an den Benutzer gerichtet ist, kannst du z.B. folgendes in Betracht ziehen:
Entweder du setzt dein Widget in ein QMainwindow hinein und schreibst es dort in die Statusbar.
Oder du lässt den Benutzer durch ne Messagebox oder ähnliches informieren. (wobei mich das als Benutzer eher nerven würde).
Am besten du legst ein QMainWindow zugrunde.
Gruß jerry42
also eigentlich möchte ich nur, dass wenn der Benutzer seine Werte eingibt und auf "ok" drückt, dass er dann die eingegebenen Werte in einem Array wieder bekommt. Sprich, es soll sich dann ein Fenster/Textfeld öffnen wo das Array dann steht, welches man dann noch speichern kann.
lg
nici
lg
nici
Hmm mir fällt nichts ein ^^
so ich hab jetzt noch mal von ganz vorne angefangen. Ich kann jetzt eine Datei (als Bildformat) speichern, aber ich kann keine Datei öffnen.
Beim compilieren habe ich aber noch viele Fehlermeldungen.
Fehlermeldungen:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o fileN.o fileN.cpp
FileN.h:10: error: expected class-name before '{' token
fileN.cpp:4: error: prototype for 'FileN::FileN(QMainWindow*)' does not match any in class 'FileN'
FileN.h:10: error: candidates are: FileN::FileN(const FileN&)
FileN.h:10: error: FileN::FileN()
fileN.cpp: In constructor 'FileN::FileN(QMainWindow*)':
fileN.cpp:7: error: 'setupUi' was not declared in this scope
fileN.cpp: In member function 'void FileN::erstelleConnects()':
fileN.cpp:15: error: no matching function for call to 'FileN::connect(<unresolved overloaded function type>, const char [11], FileN* const, const char [12])'
/usr/include/qt4/QtCore/qobject.h:181: note: candidates are: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
/usr/include/qt4/QtCore/qobject.h:282: note: bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const
fileN.cpp: In member function 'void FileN::saveFile()':
fileN.cpp:32: error: expected `}' at end of input
make: *** [fileN.o] Fehler 1
Warum wird gesagt, dass Ui nicht deklariert ist und dass ein Klassenname definiert werden muss? oder verstehe ich die Meldungen falsch??
lg
nici
Beim compilieren habe ich aber noch viele Fehlermeldungen.
Code: Alles auswählen
#include <QtGui>
#include "FileN.h"
FileN::FileN(QMainWindow *parent)
:QMainWindow(parent)
{
setupUi(this);
}
void FileN::erstelleConnects()
{
connect(saveFile, SIGNAL(clicked()),
this, SLOT(saveFile()));
}
void FileN::saveFile()
{
QFileDialog *tmp = new QFileDialog;
QString Dateiendung;
QString fileName = tmp->getSaveFileName (this, "Speichern", "unbekannt" , "*.png;;*.bmp;;*.jpg;;*.ppm", &Dateiendung);
//falls vom Benutzer keine Dateiendung angegeben wird:
if (fileName.section('.', -1)!=Dateiendung.section('.',-1))
{
//Dateiendung an den Namen hängen:
fileName.append(Dateiendung.section('*',-1));
}Code: Alles auswählen
#ifndef FILEN_H
#define FILEN_H
#include "ui_file2.h"
#include "includes.h"
//using namespace Ui;
class FileN;
class FileN : public QMainWindow, public Ui::FileN
{
Q_OBJECT
public slots:
void saveFile();
void erstelleConnects();
};
#endifCode: Alles auswählen
#include <QApplication>
#include "MainWindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QDialog *widget = new QDialog();
FileN* Oberflaeche = new FileN();
Oberflaeche->setupUi(widget);
Oberflaeche->erstelleConnects();
widget->show();
return app.exec();
}Fehlermeldungen:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o fileN.o fileN.cpp
FileN.h:10: error: expected class-name before '{' token
fileN.cpp:4: error: prototype for 'FileN::FileN(QMainWindow*)' does not match any in class 'FileN'
FileN.h:10: error: candidates are: FileN::FileN(const FileN&)
FileN.h:10: error: FileN::FileN()
fileN.cpp: In constructor 'FileN::FileN(QMainWindow*)':
fileN.cpp:7: error: 'setupUi' was not declared in this scope
fileN.cpp: In member function 'void FileN::erstelleConnects()':
fileN.cpp:15: error: no matching function for call to 'FileN::connect(<unresolved overloaded function type>, const char [11], FileN* const, const char [12])'
/usr/include/qt4/QtCore/qobject.h:181: note: candidates are: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
/usr/include/qt4/QtCore/qobject.h:282: note: bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const
fileN.cpp: In member function 'void FileN::saveFile()':
fileN.cpp:32: error: expected `}' at end of input
make: *** [fileN.o] Fehler 1
Warum wird gesagt, dass Ui nicht deklariert ist und dass ein Klassenname definiert werden muss? oder verstehe ich die Meldungen falsch??
lg
nici
Hmm mir fällt nichts ein ^^
hi,
hmm ich hab jetzt
in die header-datei geschrieben, es kommt aber trotzdem der Fehler
lg
nici
hmm ich hab jetzt
Code: Alles auswählen
public:
FileN();
~FileN();lg
nici
Hmm mir fällt nichts ein ^^
und was ist mit dem?
Code: Alles auswählen
FileN::FileN(QMainWindow *parent)
:QMainWindow(parent)
{
setupUi(this);
} was soll denn damit sein. Ich weiss es leider nicht.
muss da
hin????? ohne das setupUi(this);
muss da
Code: Alles auswählen
FileN::FileN()
{
}
FileN::~FileN()
{
{Hmm mir fällt nichts ein ^^
du implementierst den Konstruktor ohne ihn im Header zu deklarieren.
In den Header muss also noch folgendes:
In den Header muss also noch folgendes:
Code: Alles auswählen
FileN(QMainWindow *parent = 0); -
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: