为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++ C
qq_遁去的一_1 2022-07-14 13:09:28
#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”
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

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

查看完整回答
反对 回复 2022-07-18
?
郎朗坤

TA贡献1921条经验 获得超9个赞

class MyWidget :public QWidget
{
public:
MyWidget(QWidget *parent  );
};


MyWidget::MyWidget(QWidget *parent )
{
setMinimumSize(200,120);
setMaximumSize(200,120);

QPushButton *quit = new QPushButton("Quit" , this , "quit");
quit->setGeometry(62,40,75,30);

}


查看完整回答
反对 回复 2022-07-18
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

把name那个参数去掉吧好像也没用到

查看完整回答
反对 回复 2022-07-18
  • 3 回答
  • 0 关注
  • 797 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号