Qt设置系统时间

合集下载

自动测硫仪说明书qts8000

自动测硫仪说明书qts8000

目录一、概述--------------------------------------------------------------------1-2二、及工作原理-----------------------------------------------------------2-4三、仪器结构------------------------------------------------------------4-5四、触摸屏软件操作使用-----------------------------------------------5-8五、电脑软件操作--------------------------------------------------------9-11四、装箱清单----------------------------------------------------------------12第一章概述1.1概述QTS-8000型微机全自动测硫仪主要用于煤,重油等物质的全硫含量的测定,其主要的特点是人工称样放样后的操作仪器可以自动连续地批量进行,更可以随时动态地增加式样,极大的提高测试效率。

1.2技术参数1、法测硫范围:0.1—20%2、测硫分辨率:0.013、测试时间:4分钟—8分钟(依试样的种类和重量有关)4、测试温度:1150℃(煤),920℃(油)5、控温精度:±5℃6、试样重量:50mg7、试样数量:一次放置1—14个,无限制的追加试样8、测试方法:库仑滴定9、精密度:符合GB/T214-199610、准确度:在标准样品的允许误差范围内11、电源:220V±10% 50Hz12、功率:≦3.5kw13、仪器尺寸:740mm×590mm×440mm14、仪器重量:40kg1.3测试环境要求和用户自备材料1 环境温度0~40℃,相对湿度≤80%2 周围无强烈震动、灰尘、强电磁干扰、腐蚀性气体。

如何设置gec2410开发板系统时间及硬件时间(RTC)

如何设置gec2410开发板系统时间及硬件时间(RTC)

如何设置gec2410开发板系统时间及硬件时间(RTC)如何设置gec2410开发板系统时间及硬件时间(RTC)2008-06-29 21:27 483人阅读评论(0) 收藏举报之前使用开发板时发现每次开机后,系统的时间都恢复到初始状态1969年,因为QT界面要显示采集数据的时间,没办法只能自己去解决这个问题,这两天总算把问题搞定了。

一、先说一下时钟的概念,时钟包括硬件时钟和系统时钟,系统时钟就是linux系统显示的时间,用命令date可以显示当前系统时间;硬件时钟就是硬件自身的时间了。

它们两者没有关系的,但是可以通过命令设置系统时钟和硬件设置,让它们同步。

在linux系统设置系统时钟用命令date,格式为:date ************.10,表示系统时间设置为2008年6月29日20时50分10秒。

硬件时钟RTC时间是通过hwclock命令来设置的,比如说硬件时间要设置为2008年6月29日20时50分10秒,则应该先用date ************.10,然后用命令:hwclock -w,这样RTC时间就跟系统时间一致了。

二、确保RTC在开发板断电后能继续工作。

原来的gec2410开发板的底层板电路有问题,RTC无法工作,导致开机时RTC的时间也回到了1969年(用hwclock命令查看硬件时间),后来发现3.3v的电池通过两个电阻跟RTC的VDDRTC(为RTC提供电压的引脚)相连后电压不要1v,而RTC工作电压为1.8v左右,前天去了广嵌,朱工把D8电阻短路掉,D9电阻换成一个发光二级管(压降为1.5v左右),这样开发板断电后就可以用3.3v的电池供电了。

三、让系统时间和RTC时间同步。

因为每次开机后系统的时间都是系统原来的时间,比如说1969年1月1日1时1分1秒,为了让系统时间和RTC时间同步,可以在文件系统中etc/init.d/rcS添加如下命令:/sbin/hwclock -s,这样每次开机时系统就会读取RTC的时间,系统时间就与RTC时间同步了。

QT日志系统的使用

QT日志系统的使用

QT日志系统的使用Qt日志系统是Qt提供的一种用于记录和管理日志信息的功能,可以帮助我们在开发过程中更好地进行日志的记录和查看。

本文将详细介绍Qt日志系统的使用方法和常见应用场景。

一、Qt日志系统简介Qt日志系统是基于qDebug、qWarning、qCritical等宏定义实现的,可以将日志信息输出到控制台、文件、系统日志等不同的输出目标。

通过使用Qt日志系统,我们可以更加方便地进行日志的记录和查看,提高调试效率。

二、Qt日志系统的使用步骤1.包含所需的头文件,添加相关的宏定义:#include <QDebug>2.输出日志信息:qDebug( << "Debug message";qWarning( << "Warning message";qCritical( << "Critical message";3.配置日志系统的输出目标:a)将日志信息输出到控制台:qSetMessagePattern("%{message}");qInstallMessageHandler(0);b)将日志信息输出到文件:qInstallMessageHandler(&customMessageHandler);void customMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) static QFile file("log.txt");if (!file.isOpen()file.open(QIODevice::Append , QIODevice::Text);}QTextStream out(&file);out << msg << endl;file.flush(;if (type == QtFatalMsg)abort(;}4.使用日志系统的其他功能:a)设置日志级别:qSetMessagePattern("%{message}");qInstallMessageHandler(0);qSetLogLevel(QtDebugMsg); // 设置日志级别为Debugb)输出自定义的日志信息:qInstallMessageHandler(&customMessageHandler);void customMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)//自定义日志输出逻辑三、Qt日志系统的常见应用场景1.调试代码:在开发过程中,我们经常会使用qDebug输出一些调试信息,通过查看日志可以更方便地定位问题和调试代码。

[整理]Qt中时间函数的使用

[整理]Qt中时间函数的使用

QTime::QTime()默认构造函数,构造一个时,分,秒都为0的时间,如00:00:00.000(午夜)QTime::QTime(int h, int m, int s=0, int ms = 0)构造一个用户指定时,分,秒的时间.其参数有效值为:h:0--23m:0--59ms:0--999QTime QTime::addMSecs(int ms) const返回一个当前时间对象之后或之前ms毫秒的时间对象(之前还是之后视ms的符号,如为正则之后,反之之前)如:QTime time(3,0,0);QTime newTime1 = time.addMSecs(1000);QTime newTime2 = time.addMSecs(-1000);则newTime1是一个比time所指定时间(03:00:00.000)延后1000毫秒也即1秒的时间(03:00:01.000),而newTime2则提前1000毫秒(0 2:59:59.000)QTime QTime::addSecs(int nsecs) const与addMSecs()相同,只是nsecs单位是秒.即返回一个当前时间对象之前或之后的时间对象.int QTime::elapsed() const返回最后一次调用start()或restart()到现在已经经过的毫秒数.如果经过了24小时之后,则计数器置0.如果系统时间设置改变,则结果不确定.int QTime::hour() const返回时间对象的小时,取值范围(0--23)int QTime::minute() const返回时间对象的分钟,取值范围(0--59)int QTime::second() const返回时间对象的秒,取值范围(0--59)int QTime::msec() const返回时间对象的毫秒,取值范围(0--999)bool QTime::isNull() const如果时间对象等于00:00:00.000,则返回true;反之返回false.bool QTime::isValid() const如果时间对象是有效的,则返回true;反之返回false.(即:时,分,秒,毫秒都在其取值范围之内)int QTime::msecsTo(const QTime &t) const返回当前时间对象到t所指定的时间之间的毫秒数.如果t早于当前时间对象的时间,则返回的值是负值.因为一天的时间是86400000毫秒,所以返回值范围是-86400000--86400000int QTime::secsTo(const QTime &t) const与msecsTo()基本相同,只是返回的是秒数,返回值的有效范围是-86400--86400int QTime::restart()设置当前时间对象的值为当前系统时间,并且返回从最后一次调用start()或restart()到现在的毫秒数.如果计数器超出24小时,则置0.如果计数器计数时系统时间设置改变,则结果不确定.bool QTime::setHMS(int h, int m, int s, int ms = 0)设置当前时间对象的时,分,秒和毫秒.如果给定的参数值有效,则返回true,否则返回false.void QTime::start()设置当前时间对象的值为当前系统时间,这个函数实际是结合restart()和elapsed()用来计数的.QString QTime::toString(const QString &format) const按照参数format指定的格式用字符串形式输出当前时间对象的时间.参数format用来指定时,分,秒,毫秒的输出格式.如(hh:mm:ss.zzz)h:表示小时,范围是0--23hh:用两位数表示小时,不足两位的前面用0补足,如(0点:00,3点:03,11点:11)m:表示分钟,范围0--59mm:用两位数表示分钟,不足两位的前面用0补足.s:表示秒,范围0--59ss:用两位数表示秒,不足两位的前面用0补足.z:表示毫秒,范围0--999zzz:用三位数表示毫秒,不足三位的前面用0补足.AP:用AM/PM显示.ap:用ap/pm显示.例如:QTime time(14,3,9,42);//设置时间为14:03:09.042QString i = time.toString("hh:mm:ss.zzz");//结果为14:03:09.042QString j = time.toString("h:m:s.z");//结果为14:3:9.42QString m = time.toString("h:m:s.z AP");//结果为2:3:9.42 PMQString n = time.toString("h:m:s.z ap");//结果为2:3:9.42 pmQString QTime::toString(Qt::DateFormat f = Qt::TextDate) const按照参数format指定的格式用字符串形式输出当前时间对象的时间.参数的可选值:Qt::TextDate:格式为HH:MM:SSQt::ISODate:遵循ISO8601的时间表示格式,同样也为HH:MM:SSQt::LocalDate:字符串格式依赖系统本地设置----------------------------------------------------------------------------------------------------------------------------------------静态成员函数:QTime QTime::currentTime()返回当前的系统时间.QTime QTime::fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)使用参数format指定的格式根据参数string指定的时间返回一个时间对象。

QT中的日期和时间格式

QT中的日期和时间格式

QT中的⽇期和时间格式⼀.⽇期QDate1.QString QDate::shortDayName ( int weekday )返回这⼀⽇weekday在星期中的名称。

1 = “Mon”、2 = “Tue”、……7 = “Sun”⽇名称将根据系统本地设置⽽改变。

2.QString QDate::shortMonthName ( int month )返回这⼀⽉month的名称。

1 = “Jan”、2 = “Feb”、……12 = “Dec”⽉名称将根据系统本地设置⽽改变。

3.QString QDate::longDayName ( int weekday )返回这⼀⽇weekday在星期中的长名称。

1 = “Monday”、2 = “Tuesday”、……7 = “Sunday”⽇名称将根据系统本地设置⽽改变。

4.QString QDate::longMonthName ( int month )返回这⼀⽉month的长名称。

1 = “January”、2 = “February”、……12 = “December”⽉名称将根据系统本地设置⽽改变。

5.QString QDate::toString ( const QString & format )返回⼀个字符串的⽇期。

format参数决定了结果字符串的格式。

这些是可能⽤到的表达式:d - 没有前置0的数字的天(1-31)dd - 前置0的数字的天(01-31)ddd - 缩写的⽇名称(Mon-Sun)。

使⽤QDate::shortDayName()。

dddd - 长的⽇名称(Monday-Sunday)。

使⽤QDate::longDayName()。

M - 没有前置0的数字的⽉(1-12)MM - 前置0的数字的⽉(01-12)MMM - 缩写的⽉名称(Jan-Dec)。

使⽤QDate::shortMonthName()。

MMMM - 长的⽉名称(January-December)。

qt 等待函数

qt 等待函数

qt 等待函数
Qt中有许多等待函数,这些函数可以让程序在某些特定的情况下等待一定的时间。

下面列出一些常用的等待函数:
1. QThread::sleep(msecs):暂停当前线程的执行,直到msecs 毫秒后继续执行。

2. QCoreApplication::processEvents():处理来自操作系统的事件,包括GUI事件和定时器事件。

3. QEventLoop::exec():进入事件循环,直到quit()或exit()被调用后才退出。

4. QTimer::singleShot():设置一个定时器,在指定的时间之后触发timeout()信号。

5. QSemaphore::acquire()和QSemaphore::release():控制并发或同步,可以阻塞或非阻塞地获取或释放信号量。

需要注意的是,等待函数会阻塞当前线程的执行,使程序在等待期间无法响应GUI事件或处理其他任务。

因此,在使用等待函数时应当谨慎,尽量避免对用户造成不良的用户体验。

【Qt开发】QTime类

【Qt开发】QTime类

【Qt开发】QTime类QTime类为⽤户提供⼀系列时间的函数,封装的很全⾯,⼏乎满⾜了各种时间的需求。

常⽤⽅法介绍1.QTime addMSecs(int ms) const当前时间增加毫秒,ms可为负2.QTime addSecs(int s) const当前时间增加秒,s可为负3.int elapsed() const返回⾃上次调⽤start()或restart()以来经过的毫秒数。

4.int hour() const返回⼩时数5.int minute() const返回分钟数6.second() const返回秒数7.int msec() const返回毫秒数8.bool isNull() const如果时间为空返回true9.bool isValid() const判断当前时间对象是否有效,⽐如H的范围是0~23,M和S的范围是0~5910.int msecsSinceStartOfDay() const返回从⼀天开始的秒数,即从00:00:00开始的秒数。

11.int secsTo(const QTime &t) const返回从当前时间到t的秒数。

如果t⽐这个时间早,返回的毫秒数为负。

12.int msecsTo(const QTime &t) const返回从当前时间到t的毫秒数。

如果t⽐这个时间早,返回的毫秒数为负。

13.int restart()int将此时间设置为当前时间,并返回⾃上次调⽤start()或restart()以来经过的毫秒数。

14.bool setHMS(int h, int m, int s, int ms = 0)将时间设置为⼩时h、分钟m、秒s和毫秒ms。

15.void start()将当前系统时间记录为当前时间16.QString toString(const QString &format) const将时间转化为特定的字符串格式17.QString toString(Qt::DateFormat format = Qt::TextDate) const按照Qt::DateFormat的格式转化18.QTime currentTime()获得系统当前时间19.QTime fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)从Qt::DateFormat转化为QTime对象20.QTime fromString(const QString &string, const QString &format)从特定的字符串格式转化为QTime对象时间字符串格式h:没有补零的⼩时(如果AM/PM显⽰,则为0到23或1到12)hh:位数不够需要补零的⼩时(00⾄23或01⾄12,如果是AM/PM显⽰)m:没有补零的分钟(0到59)mm:位数不够需要补零的分钟(00到59)s:没有补零的秒(0到59)ss:位数不够需要补零的秒(00到59)z:没有补零的毫秒(0到999)zzz:位数不够需要补零的毫秒(000到999)ap/AP:上午/下午,ap为am或pm,AP为AM或PM例:hh:mm:ss.zzz 08:18:68.138h:m:s ap 8:18:68 am。

Qt-获取系统当前时间

Qt-获取系统当前时间

Qt-获取系统当前时间简介Qt获取系统当前时间的四种⽅法(⼀般使⽤第⼀种或者第⼆种)⽅法⼀:获取带⽇期的时间,使⽤QDateTime类QDateTime current_date_time =QDateTime::currentDateTime();QString current_date =current_date_time.toString("yyyy.MM.dd hh:mm:ss.zzz ddd");//current_date字符串结果为"2016.05.20 12:17:01.445 周五"其中时间的显⽰格式可灵活配置,此处简单说明本实例中⽤到的部分:yyyy表⽰年;MM表⽰⽉;dd表⽰⽇; hh表⽰⼩时;mm表⽰分;ss表⽰秒;zzz表⽰毫秒;ddd表⽰周⼏注:详细配置格式内容较多,有需要的请⾃⾏查看Qt Assistant中关于函数QString QDateTime::toString ( const QString & format ) const的说明⽅法⼆:使⽤QTime类QTime current_time =QTime::currentTime();int hour = current_time.hour(); //当前的⼩时int minute = current_time.minute(); //当前的分int second = current_time.second(); //当前的秒int msec = current_time.msec(); //当前的毫秒当然QTime也可以像QDateTime::toString那样直接输出固定格式的字符串,使⽤⽅法与QDateTime::toString类似,也可参考Qt Assistant中关于函数QString QTime::toString ( const QString & format ) const的说明⽅法三:使⽤标准的C语⾔函数localtime(精确到秒)注:需要包含time.h头⽂件1、使⽤strftime()进⾏格式转换time_t t = time( 0 );char tmp[64];strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );printf("%s\n",tmp);//输出为“2016/05/20 13:11:57 Friday 本年第141天中国标准时间”其中函数size_t strftime(char *strDest,size_t maxsize,const char *format,const struct tm *timeptr)功能为根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,最多向strDest中存放maxsize个字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Qt设置系统时间
大家都知道Qt中有QDateTime等有关时间与日期的类,类中包含很多成员函数,可以很方便的实现有关时间与日期的操作,比如:想要获得系统当前的时间与日期,可以调用currentDateTime();但是Qt并没有提供设置系统时间的方法,这样我们只能自己来区分平台,调用平台相关的API,这篇文章实现在Windows下的设置。

常用的与时间有关的Win32 API有两个:
GetSystemTime(); 与SetSystemTime(); 下面是函数原型:
Windows上实现:
VOID GetSystemTime(LPSYSTEMTIME lpSystemTime);
BOOL SetSystemTime( const SYSTEMTIME *lpSystemTime );
我们查一下MSDN 看看LPSYSTEMTIME 与 SYSTEMTIME 是什么东东:
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;
从中我们知道SYSTEMTIME 为结构体类型,LPSYSTEMTIME为结构体指针,传递给两个函数的参数都必须是指针或引用类型,下面看一个Qt的调用实例:
1#include <QtCore/QCoreApplication>
2#include <iostream>
3#include <time.h>
4#include <windows.h>
5#include <QDateTime>
6#include <QDebug>
7using namespace std;
8
9bool setDate(int,int,int);
10int main(int argc, char*argv[])
11{
12 QCoreApplication a(argc, argv);
13 qDebug()<<QDateTime::currentDateTime()<<endl; // Qt API 输出当前时间14setDate(2011,1,1); //设置时间
15 qDebug()<<QDateTime::currentDateTime()<<endl; // Qt API 获取当前时间16return 0; //让程序完成任务直接退出吧...
17}
18
19bool setDate(int year,int mon,int day)
20{
21 SYSTEMTIME st;
22 GetSystemTime(&st); // Win32 API 获取系统当前时间,并存入结构体st中
23 st.wYear=year;
24 st.wMonth=mon;
25 st.wDay=day;
26
27return SetSystemTime(&st); //Win32 API 设置系统时间
28}
29
Linux上实现:
qt-读取和修改系统时间
QTime ct = QTime::currentTime();
修改系统时间
// change the system time
QDateTime dt = QDateTime::currentDateTime();
dt.setTime(timeEditor->time());
time_t tt = (time_t)dt.toTime_t();
int r = stime(&tt);
if (r)
{
if (errno == EPERM)
QMessageBox::warning(this, "Error", "You don't have permission to change system time.");
}。

相关文档
最新文档