ورود

View Full Version : مبتدی: ساخت کورنومتر با کلاس QTimer



raminlich
جمعه 07 شهریور 1393, 14:19 عصر
سلام
الان یه چند روزی هست می خوام یه کورنومتر ساده بسازم(ساختم)ولی با این کلاس Qt نتونستم چون می خوام از قابلیت stop() start()
استفاده کنم یه مثالی هست اگه میشه به تغیری تو این بدین می خوام از 0 شروع شه بر بالا(از یکی یه پروژه ایی گرفتم فقط تو این قسمتش موندم اینم می خواد زود پروژه رو تحویل بدم هی هروز گیر می ده بم:گریه: اینو گفتم تا اگه خلاف قوانین بود این بارو فقط یه استثنایی قائل بشین شما هم گیر ندین:لبخند: اینم می دونم این کار اشتباهی از دیگران بخوام برام تغیر بدم ولی اینبار واقعا گیر کردم :افسرده: )
این مثال ساعت خود سیستم رو نشون می ده
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QTimer"
#include "QTime"


MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

//Start to get System time.
QTimer *timer = new QTimer(this);
timer->setInterval(1000);
timer->start();
connect(timer, SIGNAL(timeout()),
SLOT(updateClock()));


}

void MainWindow::updateClock()
{


QString timeString = QTime::currentTime().toString("hh:mm:ss");
ui->LCurrenTtime->setText(timeString);

}
ممنون میشم

حمید رضا رحیمیان
شنبه 08 شهریور 1393, 15:30 عصر
سلام

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
_second=0;
_time.setHMS(0,0,0,0);
startTimer(1000);
}

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

void MainWindow::timerEvent(QTimerEvent *event)
{
_second++;
QTime t= _time.addSecs(_second);
ui->LCurrenTtime->setText(t.toString());
}



#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtWidgets>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

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

protected:
void timerEvent(QTimerEvent *);

private:
Ui::MainWindow *ui;
QTime _time;
int _second;
};

#endif // MAINWINDOW_H

raminlich
شنبه 08 شهریور 1393, 18:31 عصر
خیلی ممنون حالا من اگه بخوام با یک پوش باتون این تایمر رو استوب کنم بع با همون دوباره ادامشو استارت کنم چی باید بزارم؟
اینو بگی دیگه دمت گرمه:لبخند: