我收到以下错误:
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;
}