TheGilb
28-10-2001, 20:59
Hallo!
Habe folgendes Problem. Bin gerade dabei, das Tutorial von kde-women.org durchzuarbeiten. Jetzt habe ich folgendes Problem. Wie komme ich denn zu einem ausführbaren Programm, wenn ich 2 cpp Dateien habe. (headerdateien kann man ja in seiner main.cpp unter #include einfügen, aber was macht man mit cpp dateien).
Hier sind mal die quellcodes:
main.cpp
#include <kapp.h>
#include "p3.h"
int main( int argc, char **argv )
{
KApplication a( argc, argv, "p3");
MainWindow *window=new MainWindow( "Tutorial - p3" );
window->resize( 400, 300 );
a.setMainWidget( window );
window->show();
return a.exec();
}
-------------------------------
p3.h
#include <kmainwindow.h>
class MainWindow : public KMainWindow
{
Q_OBJECT
public:
MainWindow ( const char * name );
public slots:
void fileOpen();
void fileSave();
};
--------------------------------------
p3.cpp
#include "p3.h"
#include <kfiledialog.h>
#include <kapp.h>
#include <kmenubar.h>
#include <klocale.h>
#include <kmessagebox.h>
#include <qtextview.h>
MainWindow::MainWindow ( const char * name ) : KMainWindow ( 0L, name )
{
setCaption("KDE Tutorial - p3");
QPopupMenu *filemenu = new QPopupMenu;
filemenu->insertItem( i18n( "&Open" ), this, SLOT(fileOpen()) );
filemenu->insertItem( i18n( "&Save" ), this, SLOT(fileSave()) );
filemenu->insertItem( i18n( "&Quit" ), kapp, SLOT(quit()) );
QString about =
i18n("p3 1.0\n\n"
"(C) 1999-2001 Antonio Larrosa Jimenez\n"
"larrosa@kde.org\t\tlarrosa@suse.de\n"
"Malaga (Spain)\n\n"
"Simple KDE Tutorial\n"
"This tutorial comes with ABSOLUTELY NO WARRANTY\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions\n");
QPopupMenu *helpmenu = helpMenu( about );
KMenuBar *menu = menuBar();
menu->insertItem( i18n( "&File" ), filemenu );
menu->insertSeparator();
menu->insertItem( i18n( "&Help" ), helpmenu );
QTextView *hello=new QTextView(
i18n("<H2>Hello World !</H2><BR>This is a simple"
" window with <I><font size=5><B>R<font color=red"
" size=5>ich </font><font color=blue size=5>Text"
"</font></B></I> capabilities<BR>Try to resize"
" this window, all this is automatic !"), "", this );
setCentralWidget( hello );
}
void MainWindow::fileOpen()
{
KURL filename = KFileDialog::getOpenURL( QString::null, "*", this );
QString msg = QString( i18n("Now this app should open the url %1 .") ).arg(filename.url());
KMessageBox::information( 0, msg, i18n( "Information" ),
"fileOpenInformationDialog" );
}
void MainWindow::fileSave()
{
KURL filename=KFileDialog::getSaveURL( QString::null, "*", this );
}
-------------------------------------
Danke für eure Hilfe :-)
Markus
Habe folgendes Problem. Bin gerade dabei, das Tutorial von kde-women.org durchzuarbeiten. Jetzt habe ich folgendes Problem. Wie komme ich denn zu einem ausführbaren Programm, wenn ich 2 cpp Dateien habe. (headerdateien kann man ja in seiner main.cpp unter #include einfügen, aber was macht man mit cpp dateien).
Hier sind mal die quellcodes:
main.cpp
#include <kapp.h>
#include "p3.h"
int main( int argc, char **argv )
{
KApplication a( argc, argv, "p3");
MainWindow *window=new MainWindow( "Tutorial - p3" );
window->resize( 400, 300 );
a.setMainWidget( window );
window->show();
return a.exec();
}
-------------------------------
p3.h
#include <kmainwindow.h>
class MainWindow : public KMainWindow
{
Q_OBJECT
public:
MainWindow ( const char * name );
public slots:
void fileOpen();
void fileSave();
};
--------------------------------------
p3.cpp
#include "p3.h"
#include <kfiledialog.h>
#include <kapp.h>
#include <kmenubar.h>
#include <klocale.h>
#include <kmessagebox.h>
#include <qtextview.h>
MainWindow::MainWindow ( const char * name ) : KMainWindow ( 0L, name )
{
setCaption("KDE Tutorial - p3");
QPopupMenu *filemenu = new QPopupMenu;
filemenu->insertItem( i18n( "&Open" ), this, SLOT(fileOpen()) );
filemenu->insertItem( i18n( "&Save" ), this, SLOT(fileSave()) );
filemenu->insertItem( i18n( "&Quit" ), kapp, SLOT(quit()) );
QString about =
i18n("p3 1.0\n\n"
"(C) 1999-2001 Antonio Larrosa Jimenez\n"
"larrosa@kde.org\t\tlarrosa@suse.de\n"
"Malaga (Spain)\n\n"
"Simple KDE Tutorial\n"
"This tutorial comes with ABSOLUTELY NO WARRANTY\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions\n");
QPopupMenu *helpmenu = helpMenu( about );
KMenuBar *menu = menuBar();
menu->insertItem( i18n( "&File" ), filemenu );
menu->insertSeparator();
menu->insertItem( i18n( "&Help" ), helpmenu );
QTextView *hello=new QTextView(
i18n("<H2>Hello World !</H2><BR>This is a simple"
" window with <I><font size=5><B>R<font color=red"
" size=5>ich </font><font color=blue size=5>Text"
"</font></B></I> capabilities<BR>Try to resize"
" this window, all this is automatic !"), "", this );
setCentralWidget( hello );
}
void MainWindow::fileOpen()
{
KURL filename = KFileDialog::getOpenURL( QString::null, "*", this );
QString msg = QString( i18n("Now this app should open the url %1 .") ).arg(filename.url());
KMessageBox::information( 0, msg, i18n( "Information" ),
"fileOpenInformationDialog" );
}
void MainWindow::fileSave()
{
KURL filename=KFileDialog::getSaveURL( QString::null, "*", this );
}
-------------------------------------
Danke für eure Hilfe :-)
Markus