0

我收到以下错误:

QWidget:必须在小部件之前构造一个 QApplication

3天前有效,但现在不再有效,我不知道为什么。

这个错误是什么意思?我不知道我是否修改了什么。

这是我的代码:

主windw.cpp

void MainWindow::on_Statistic_button_clicked(){
    s1 =new stat1(this);
    s1->show();
}

stat1.cpp

stat1::stat1(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::stat1)
{
    ui->setupUi(this);
    //mLayout = new QVBoxLayout;
    mChart = new OpenChart(this);
    setCentralWidget(mChart);
    //mLayout->addWidget(mChart);
    //mLayout->setMargin(0);
    //setLayout(mLayout);
    //int num;
    QSqlQuery q,q1,q2;
    q1.exec("SELECT count(distinct adresse) from abonne");
    q1.next();
    int n = q1.value(0).toInt();
    QString adr[100];

    int j = 0;
    q.exec("SELECT distinct adresse from abonne");
    while(j<n)
    {
        q.next();
        adr[j]=q.value(0).toString();
        j++;
    }


    QMap<QString,int> cartes;
    for(j=0;j<n;j++)
    {
        q2.exec("SELECT count(abonne.id_abonne) FROM abonne,fidels where abonne.id_abonne=fidels.id_abonne and abonne.adresse='"+adr[j]+"'");
        q2.next();
        int nbr = q2.value(0).toInt();
        cartes[adr[j]] = nbr;
    }


    mChart->setTitle("Cartes/Adresses");
    mChart->setTipo(OpenChart::Sectores_2D);
    mChart->setTipoleyenda(OpenChart::Circular);
    const auto cartesEnd=cartes.end();
    for(auto i=cartes.begin(); i!=cartesEnd; ++i){
        mChart->addItem(i.key(), i.value());
    }
}

stat1::~stat1()
{
    delete ui;
}
4

0 回答 0