如何在qt中显示计数器功能

时间:2016-08-17 13:02:02

标签: c++ qt

我知道在c ++中你做int计数器,当它做了什么我希望它会做c ++然后cout<< counter来显示计数器但现在我想做一个GUI应用程序,它将有20个按钮,当按下一个按钮来执行计数器++并打印计数器。我已经完成了,但是如何在标签中显示计数器呢?

        #include "form.h"
        #include "ui_form.h"
        #include <QString>
        #include <QLabel>

        Form::Form(QWidget *parent) :
            QWidget(parent),
            ui(new Ui::Form)
        {
            QString::number();
            QString s = QString::number();
            ui->setupUi(this);

        }

        Form::~Form()
        {
            delete ui;
        }

        void Form::on_pushButton_clicked()
        {

            counter++;

            ui->label->setText(QString::number(counter));
        }

标题

                           #ifndef FORM_H
        #define FORM_H

        #include <QWidget>
        #include <QString>

        namespace Ui {
        class Form;
        }

        class Form : public QWidget
        {
            Q_OBJECT

        public:
            explicit Form(QWidget *parent = 0);
            ~Form();

        private slots:
            void on_pushButton_clicked();
            int counter=0;

        private:
            Ui::Form *ui;
        };

        #endif // FORM_H

我得到的错误:

1)

  

没有用于调用'QString :: number()'的匹配函数        :: QString的号码();

1 个答案:

答案 0 :(得分:1)

#include "form.h"
#include "ui_form.h"
#include <QString>
#include <QLabel>

Form::Form(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form)
{
    counter = 0;
    ui->setupUi(this);
}

Form::~Form()
{
    delete ui;
}

void Form::on_pushButton_clicked()
{
    counter++;
    ui->label->setText(QString::number(counter));
}

在构造函数中初始化您的成员而不是在标题中。并将您的计数器成员的定义放在私有部分而不是私人插槽部分。