William2023007 2023-06-20 17:22 采纳率: 50%
浏览 17
已结题

qt 显示makefile 和collect 2exe报错

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();
}

  • 写回答

1条回答 默认 最新

  • 疯狂的挖掘机 全栈领域新星创作者 2023-06-21 09:01
    关注

    你这个很有可能问题在

    
    dialog.h:  extern QJsonArray food2
    因为在 insert.h 有 QJsonArray food2
                food.cpp 有 QJsonArray food2
    

    extern 是一次定义全局使用!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月21日
  • 创建了问题 6月20日

悬赏问题

  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题