#include <qapplication.h>
#include <qpainter.h>
#include <qwidget.h>
#include <qpixmap.h>
#include <qmessagebox.h>
#include <qhbox.h>
#include <qpushbutton.h>
#include <qlabel.h>
class MyWidget:public
QLabel{
public:
MyWidget(QWidget *parent=0,const char *name=0);
protected:
void paintEvent(QPaintEvent *);
};
MyWidget::MyWidget(QWidget *parent,const char *name)
:QLabel(parent,name)
{
}
void MyWidget::paintEvent(QPaintEvent *)
{
QPainter p(this);
QPixmap imgpixmap("flag.bmp");
p.drawPixmap(0,0,imgpixmap);
}
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QHBox hbox;
hbox.resize(600,400);
MyWidget w(&hbox,"imgshow");
QPushButton showbtn("show",&hbox,"show");
QObject::connect(&showbtn,SIGNAL(clicked()),&w,SLOT(repaint()));
a.setMainWidget( &hbox );
hbox.show();
return a.exec();
}
为啥出现segmentation fault呢