程序很简单,就是在自己继承的对话框类上
显示字
共三个文件:
///////////////////////////////文件wndinfo.cpp
#include<iostream.h>
#include<qpixmap.h>
#include"wndinfo.h"
myDialog::myDialog():QDialog()
{
cout<<"myDialog"<<endl;
}
void myDialog::paintEvent(QPaintEvent* )
{
// 下面四行代码取消注释后编译,在qvfb下显示是正常的(见图),
// 但是交叉编译后在arm上运行就有段错误。
// 而且即使只有“QPainter p(this); ”一句,也会产生端错误! 为什么???// QPainter p(this);
// p.save();
// p.drawText(0,0,100, 100, AlignHCenter, "TEXT.....");
// p.restore();
}
///////////////////////////////文件 wndinfo.h
#ifndef WNDINFO_H
#define WNDINFO_H
#include<qdialog.h>
#include<qpainter.h>
class myDialog:public QDialog
{
public:
myDialog();
private:
void paintEvent(QPaintEvent*);
};
#endif
/////////////////////////////////
/////// main.cpp
#include <qapplication.h>
#include <qpushbutton.h>
#include <qdialog.h>
#include"wndinfo.h"
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QDialog * mydialog = new myDialog;
mydialog->setCaption("My Dialog");
mydialog->resize( 200, 300 );
a.setMainWidget( mydialog );
mydialog->show();
return a.exec();
}
[ 此贴被newalan在2008-04-27 09:37重新编辑 ]