想写一个简单的在qt下显示图片的程序
可是在编译时老出现这个错误:error: multiple types in one declaration 一个声明指定了多个类型
比如在生成image.o的时候 /usr/lib/qt-3.3/include/qpen.h:88: 错误:一个声明指定了多个类型
在编译main.cpp的时候也有这种情况
/usr/lib/qt-3.3/include/qdesktopwidget.h:43: error: multiple types in one declaration
不知道是自己程序哪个地方出毛病了,反正把image.cpp置空就没这个错误了
多谢
程序如下:
imag.h
- #ifndef IMAGE_H
- #define IMAGE_H
- #include <qwidget.h>
- #include <qimage.h>
- class MyImage : public QWidget
- {
- public:
- MyImage( QWidget *parent=0, const char *name=0, int wFlags=0 );
- ~MyImage();
- bool loadImage( const QString& );
- protected:
- void paintEvent( QPaintEvent * );
-
- private:
- QString filename;
- QImage image;
- }
- #endif
image.cpp
- #include "image.h"
- #include <qpainter.h>
- #include <qapplication.h>
- #include <qmessagebox.h>
- MyImage::MyImage( QWidget *parent, const char *name, int wFlags ):QWidget( parent, name, wFlags )
- {
- bool ok;
- filename = "/opt/program/qt/showimg/save";
- ok = loadImage( filename );
- printf( "ok = %d \n", ok );
- }
- MyImage::~MyImage()
- {
- }
- bool MyImage::loadImage( const QString& filename )
- {
-
- bool ok;
- ok = image.load( filename, 0 );
- update();
- return ok;
- }
- void MyImage::paintEvent( QPaintEvent *e )
- {
- QPainter painter(this);
- painter.setClipRect(e->rect());
- painter.drawImage( image.width(), image.height(), image );
- }
main.cpp
- #include "image.h"
- #include <qapplication.h>
- #include <qimage.h>
- int main( int argc, char **argv )
- {
- QApplication a( argc, argv );
- MyImage myimage;
- a.setMainWidget( &myimage );
- myimage.setCaption("image Example");
- myimage.show();
- return a.exec();
- }