#include "mainwindow.h"
#include <QApplication>
#include <QtGui>
#include<QtWidgets>
class notepad:public QWidget
{
Q_OBJECT
public:
notepad(QWidget * parent = 0, Qt::WindowFlags f = 0);//g
QTextEdit *qte;
QPushButton *qpb;
QVBoxLayout *qvbl;
public slots:
void nquit();
};
notepad::notepad(QWidget * parent, Qt::WindowFlags f):QWidget(parent, f){
qte =new QTextEdit;
qpb=new QPushButton("退出");
connect(qpb,SIGNAL(clicked()),this,SLOT(nquit()));
qvbl->addWidget(qte);
qvbl->addWidget(qpb);
setLayout(qvbl);
}
void notepad::nquit(){
qApp->quit;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
/*MainWindow w;
w.show();*/
notepad b;
return a.exec();
}
QT遇到了奇怪的错误,网上的方法都不行
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- lpfly 2015-08-16 20:22关注
QWidget的构造函数是这样的:
QWidget(QWidget * parent = 0, Qt::WindowFlags f = 0)
和你自己顶一个notepad()构造函数是冲突的。因为如果你用notepad b创建一个notepad的时候,编译器不知道你具体要调用哪个构造函数,因为QWidget的构造函数里的两个参数都有默认值,如果你不给参数的话,notepad()和QWidget()都是可以得。
你可以把notepad构造函数改成:
class { ... notepad(QWidget * parent = 0, Qt::WindowFlags f = 0); ... } ... notepad::notepad(QWidget * parent, Qt::WindowFlags f) : QWidget(parent, f) { ... }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 matlab有关常微分方程的问题求解决
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?
- ¥100 求三轴之间相互配合画圆以及直线的算法