- 论坛徽章:
- 0
|
编译 错误提示如下:
KDEMenu.cpp:18: error: cannot convert ‘KApplication’ to ‘const QObject*’ for argument ‘1’ to ‘KAction* KStdAction::quit(const QObject*, const char*, KActionCollection*, const char*)’
文件源码是:
KDEMenu.h :
#include <kmainwindow.h>
class KDEMenu : public KMainWindow
{
Q_OBJECT
public:
KDEMenu(const char *name);
private slots:
void newFile();
void aboutApp();
};
KDEMenu.cpp
#include"KDEMenu.h"
#include <kapp.h>
#include <kaction.h>
#include <kstdaccel.h>
#include <kmenubar.h>
#include <kaboutdialog.h>
KDEMenu::KDEMenu(const char * name) : KMainWindow( 0L, name )
{
KAction *new_file = new KAction("&New",
"filenew",
KStdAccel::key(KStdAccel::New),
this,
SLOT(newFile()),
this);
KAction *quit_action = KStdAction::quit(KApplication::KApplication(), SLOT(quit()), actionCollection());
KAction *help_action = KStdAction::aboutApp(this, SLOT(aboutApp()), actionCollection());
QPopupMenu *file_menu = new QPopupMenu;
QPopupMenu *help_menu = new QPopupMenu;
menuBar()-> insertItem("&File", file_menu);
menuBar()-> insertItem("&Help", help_menu);
new_file-> plug(file_menu);
file_menu-> insertSeparator();
quit_action-> plug(file_menu);
help_action-> plug(help_menu);
new_file-> plug(toolBar());
quit_action-> plug(toolBar());
}
void KDEMenu::newFile()
{
}
void KDEMenu::aboutApp()
{
KAboutDialog *about = new KAboutDialog(this, "dialog");
about-> setAuthor(QString("A.N.Author"), QString("an@email.net"),
QString("http://url.com"),QString("work"));
//about-> setMaintainer("A.Maintainer");
about-> setVersion("1.0");
about-> show();
}
int main(int argc, char **argv)
{
KApplication app( argc, argv, "cdapp");
KDEMenu *window = new KDEMenu("bob");
app.setMainWidget(window);
window-> show();
return app.exec();
}
menu.pro:
TARGET = kdemenu
MOC_DIR = moc
OBJECT_DIR = obj
INCLUDEPATH = /usr/include/kde
INCLUDEPATH += /opt/kde3/include
INCLUDEPATH += /usr/lib/qt3/include
QMAKE_LIBDIR_X11 += /opt/kde3/lib
QMAKE_LIBDIR_X11 += /usr/lib
QMAKE_LIBS_X11 += -lkdeui -lkdecore
SOURCES = KDEMenu.cpp
HEADERS = KDEMenu.h
编译命令如下:
$qmake menu.pro -o Makefile
$make
大家帮忙看看怎么办??? 谢谢!! |
|