Ошибка ASSERT при запуске программы Qt

Рейтинг: 0Ответов: 1Опубликовано: 09.05.2023

Ошибка:

counter.h

#include <QtWidgets>

class Counter : public QWidget
{
    Q_OBJECT
    int count;
    QLCDNumber* num;
    QPushButton* butt;
public:
    Counter();
public slots:
    void counterIncrease();
};

counter.cpp

#include "counter.h"

Counter::Counter()
{
    count = 0;
    num = new QLCDNumber(count);
    butt = new QPushButton;
     connect(butt, &QPushButton::clicked, this, &Counter::counterIncrease);
    QVBoxLayout* lay = new QVBoxLayout;
    lay->addWidget(num);
    lay->addWidget(butt);
    lay->setSpacing(15);
    setLayout(lay);
}
void Counter::counterIncrease() {
    count++;
    num->display(count);
}

main.cpp

#include <QApplication>
#include <QtWidgets>
#include <counter.h>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //
    Counter c;
    c.resize(200, 200);
    c.show();


    //
    return a.exec();
}

Ответы

▲ 1Принят

Вспомнил, что в конструктор QLCDNumber передается не значение которое нужно отображать, а максимальное число цифр которое панель может отобразить. И когда я передавал count в своём коде, то конструктор получал 0 символов и выдавал такую стремную ошибку