猿问

无构造函数可以接受源类型,或构造函数重载决策不明确?

#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>

class MyWidget : public QWidget
{
public:

MyWidget( QWidget *parent=0, const char *name=0 );
};

MyWidget::MyWidget( QWidget *parent, const char *name )

: QWidget( parent, name )
{

// setMinimumSize( 200, 120 );

//setMaximumSize( 200, 120 );

//QPushButton *quit = new QPushButton( "Quit", this, "quit" );

QPushButton *quit = new QPushButton( "quit", this );

quit->setGeometry( 62, 40, 75, 30 );

quit->setFont( QFont( "Times", 18, QFont::Bold ) );

connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
}

int main( int argc, char **argv )
{

QApplication a( argc, argv );

MyWidget w;

w.setGeometry( 100, 100, 200, 120 );

//a.setMainWidget( &w );

w.show();

return a.exec();
}
错误是
“QWidget::QWidget(QWidget *,Qt::WindowFlags)”: 不能将参数 2 从“const char *”转换为“Qt::WindowFlags”

qq_遁去的一_1
浏览 798回答 3
3回答

森林海

错误的原因在这里 MyWidget::MyWidget( QWidget *parent, const char *name ): QWidget( parent, name )把const char *类型的形参赋给Qt::WindowFlags类型 类型不一致 导致无法编译通过可以把const char *改为Qt::WindowFlags 或者把传给QWidget的name参数去掉教程也会有错误的

郎朗坤

class MyWidget :public QWidget{public:MyWidget(QWidget *parent &nbsp;);};MyWidget::MyWidget(QWidget *parent ){setMinimumSize(200,120);setMaximumSize(200,120);QPushButton *quit = new QPushButton("Quit" , this , "quit");quit->setGeometry(62,40,75,30);}

哆啦的时光机

把name那个参数去掉吧好像也没用到
随时随地看视频慕课网APP
我要回答