2016-08-17 3 views
1

Я знаю, что в C++ вы делаете int counter, и когда он делает что-то, я хочу, чтобы он собирался сделать C++, а затем cout<< counter, чтобы показать счетчик, но теперь я хочу сделать графическое приложение, которое будет имеют 20 кнопок и при нажатии кнопки для выполнения счетчика ++ и печати счетчика. Я сделал это, но как мне это сделать, чтобы показать счетчик в ярлыке?Как показать функцию счетчика в qt

код

 #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 :: number();

+0

вы можете использовать метод setText (...) вашей метки, чтобы установить его после каждого нажатия кнопки ... – retinotop

+0

@retinotop setText (counter)? – xPosed

+0

вам нужно конвертировать счетчик в qstring ... потому что я думаю, что это значение int ... http://stackoverflow.com/questions/3211771/how-to-convert-int-to-qstring – retinotop

ответ

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

Инициализировать свой член в конструкторе не в заголовке. И поместите определение члена вашего счетчика в частную секцию не в частную секцию слота.

+0

@xPosed это исправить ваши проблемы? – retinotop

+0

Я вложил это, но я не понял, что я хочу, чтобы я сделал в заголовке. – xPosed

+1

сделал это работа :) спасибо помощнику – xPosed

Смежные вопросы