error:id returned 1 exit status和makefile:debug的报错
头文件:
dialog,h:
#ifndef DIALOG_H
#define DIALOG_H
#include<QJsonObject>
#include<QJsonArray>
#include<QJsonDocument>
#include <QDialog>
#include "food.h"
#include "insert.h"
extern QJsonArray food2;
extern QJsonArray all;
extern QJsonArray lip2;
extern QJsonArray ditem2;
extern QJsonArray drink2;
QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private slots:
void on_food_clicked();
void on_pushButton_clicked();
private:
Ui::Dialog *ui;
food *food1;
insert *insert1;
};
#endif // DIALOG_H
food.h
#ifndef FOOD_H
#define FOOD_H
#include <QDialog>
namespace Ui {
class food;
}
class food : public QDialog
{
Q_OBJECT
public:
explicit food(QWidget *parent = nullptr);
~food();
private slots:
void on_factory_clicked();
void on_name_clicked();
void on_exit_clicked();
void on_look_clicked();
private:
Ui::food *ui;
int flag;
};
#endif // FOOD_H
insert,h
#ifndef INSERT_H
#define INSERT_H
#include <QDialog>
namespace Ui {
class insert;
}
class insert : public QDialog
{
Q_OBJECT
public:
explicit insert(QWidget *parent = nullptr);
~insert();
private slots:
void on_exit1_clicked();
void on_firm_clicked();
void on_food1_clicked();
void on_lip_clicked();
void on_drink_clicked();
void on_ditem_clicked();
private:
Ui::insert *ui;
int flag;
int fn;
int dn1;
int dn2;
int ln;
};
#endif // INSERT_H
源代码:
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
food1=new food;
insert1=new insert;
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_food_clicked()
{
this->hide();
food1->show();
food1->exec();
this->show();
}
void Dialog::on_pushButton_clicked()
{
this->hide();
insert1->show();
insert1->exec();
this->show();
}
food.cpp
#include "food.h"
#include "ui_food.h"
#include<QString>
#include "dialog.h"
#include<QWidget>
#include<QTableWidget>
#include<QJsonArray>
#include<QStringList>
#include<QJsonValue>
#include<QTableWidgetItem>
QJsonArray food2;
food::food(QWidget *parent) :
QDialog(parent),
ui(new Ui::food)
{
flag=-1;
ui->setupUi(this);
this->resize(1200,700);
ui->table->setRowCount(5);
ui->table->setColumnCount(8);
ui->table->setHorizontalHeaderLabels(QStringList()<<"商品类型"<<"商品名称"<<"生产厂家"<<"商品编号"<<"商品进货价格"<<"商品销售价格"<<"销售数量"<<"供应商名称");
}
food::~food()
{
delete ui;
}
void food::on_factory_clicked()
{
flag=0;
}
void food::on_name_clicked()
{
flag=1;
}
void food::on_exit_clicked()
{
this->close();
}
void food::on_look_clicked()
{
int k=0;
if(flag==1)
{
ui->table->setRowCount(food2.size());
for(int i=0;i<food2.size();i++)
{
QJsonValue x=food2.at(i);
QJsonArray M=x.toArray();
QJsonValue y;
y=M.at(0);
if(ui->input->text()==y.toString())
{
for(int i=0;i<8;i++)
{
QJsonValue h;
h=M.at(i);
ui->table->setItem(k,0,new QTableWidgetItem(h.toString()));
}
k++;
}
}
}
}
insert.h
#include "insert.h"
#include "ui_insert.h"
#include "dialog.h"
#include<QString>
#include<QJsonArray>
#include<QJsonObject>
#include<QMessageBox>
QJsonArray all;
QJsonArray food2;
QJsonArray lip2;
QJsonArray ditem2;
QJsonArray drink2;
insert::insert(QWidget *parent) :
QDialog(parent),
ui(new Ui::insert)
{
ui->setupUi(this);
flag=0;
fn=0;
ln=0;
dn1=0;
dn2=0;
}
insert::~insert()
{
delete ui;
}
void insert::on_exit1_clicked()
{
this->hide();
}
void insert::on_firm_clicked()
{
QString itemname,factory,Snumber,inprice,outprice,number,oriname;
itemname=ui->itemname->text();
factory=ui->factory->text();
Snumber=ui->Snumber->text();
inprice=ui->inprice->text();
outprice=ui->outprice->text();
number=ui->number->text();
oriname=ui->oriname->text();
QJsonArray x;
x.prepend(itemname);
x.prepend(factory);
x.prepend(Snumber);
x.prepend(inprice);
x.prepend(outprice);
x.prepend(number);
x.prepend(oriname);
if(flag==1||flag==2||flag==3||flag==4)
{
if(flag==1)
{
food2.append(x);
}
if(flag==2)
{
lip2.append(x);
}
if(flag==3)
{
drink2.append(x);
}
if(flag==4)
{
ditem2.append(x);
}
QMessageBox::warning(this,"警示","记载成功",QMessageBox::Yes);
ui->Snumber->clear();
ui->factory->clear();
ui->inprice->clear();
ui->outprice->clear();
ui->number->clear();
ui->oriname->clear();
ui->itemname->clear();
}
else
{
QMessageBox::warning(this,"警示","没有选择类型",QMessageBox::Yes);
}
}
void insert::on_food1_clicked()
{
flag=1;
}
void insert::on_lip_clicked()
{
flag=2;
}
void insert::on_drink_clicked()
{
flag=3;
}
void insert::on_ditem_clicked()
{
flag=4;
}
main.cpp
#include "dialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
return a.exec();
}