⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 digitalclock.cpp

📁 世界时间转换程序
💻 CPP
字号:
/****************************************************************************
** File: 'digitalclock.cpp'
**
** Created: Sat Dec 2 15:58:32 2006
**      by: Wya ($Id: edited Sat Dec 2 15:58:32 2006 $)
**
** WARNING! All changes made by wya
**
****************************************************************************/
#include <QtGui>

#include "digitalclock.h"
/***
**
**
***/
DigitalClock::DigitalClock(QWidget *parent) : QLCDNumber(parent)
{
    setSegmentStyle(Filled);
    m_hours=0;
	m_minutes=0;
	m_seconds=0;
	m_microSeconds=0;
	m_formatMicroSecond=false;
	
   //QTimer *timer = new QTimer(this);
  // connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
   //  connect(timer, SIGNAL(timeout()), this, SLOT(slotDisplayStopWatchTimer()));
   
   //timer->start(100);

   // showTime();
	//set display 

    setWindowTitle(tr("Digital Clock"));
    resize(150, 60);
}
/***
**
**
***/
void DigitalClock::showTime()
{
    QTime time = QTime::currentTime();
	QString text = time.toString("hh:mm:ss.z");
    //if ((time.second() % 2) == 0)
      //  text[2] = ' ';
    display(text);
}
/***
** set time in the LCD
**
***/
void DigitalClock::setDisplayTime(const QString & text)
{
#ifdef LOG_STOPWATCH
   m_time=text;
#endif
   display(text);
}
/***
**
**set display like hh:mm:ss.zz
***/
void  DigitalClock::setForamtWithMircoSecond()
{
   QTime time (0,0,0,0);
   QString txt = time.toString("hh:mm:ss.z");
    setDisplayTime(txt);
	m_formatMicroSecond=true;
	setToolTip("Double Click ,Reset the digital.");
}
/***
**
**set display like hh:mm:ss
***/
void  DigitalClock::setForamtWithSecond()
{
    QTime time (0,0,0,0);
	QString txt = time.toString("hh:mm:ss");
    setDisplayTime(txt);
	m_formatMicroSecond=false;
}

void DigitalClock::slotDisplayStopWatchTimer()
{
	m_microSeconds=m_microSeconds+1;
	if(m_microSeconds>9)//for second
	{
		m_microSeconds=0; //reset
      m_seconds = m_seconds+1;
	  if(m_seconds>59) //for minutes
	  {
         m_seconds = 0;
         m_minutes=m_minutes+1;

		 if(m_minutes>59) //for hours
		 {
           m_minutes=0;
            m_hours=m_hours+1;  //we don't think we use  more 24 
		 }
	  }	  
	}

	//set value to the display string

	QString txt= getTimeString(m_hours,	m_minutes,m_seconds,m_microSeconds*100);
	setDisplayTime(txt);


}
/***
** return a string like hh:mm:ss.z
** 
***/
QString DigitalClock::getTimeString(int hh,int mm,int ss,int zz)
{
	QTime time (hh,mm,ss,zz);
	QString txt = time.toString("hh:mm:ss.z");
    return txt;
}
/***
** we will reset the LCD display
**
***/
void DigitalClock::mouseDoubleClickEvent ( QMouseEvent * event ) 
{
	if(event->button()==Qt::LeftButton && m_formatMicroSecond==true)
	{
     setForamtWithMircoSecond();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -