怎样用QT的 dateTimeEdit控件实现设置时间?请大虾们指教!最好给在下发个例程 多谢了!
答案:2 悬赏:80 手机版
解决时间 2021-01-13 01:12
- 提问者网友:不爱我么
- 2021-01-12 19:28
怎样用QT的 dateTimeEdit控件实现设置时间?请大虾们指教!最好给在下发个例程 多谢了!
最佳答案
- 五星知识达人网友:鸠书
- 2021-01-12 20:46
这个比较简单的哦,我给你讲步骤吧,
第一步,创建一个dateTimeEdit,第二步,将其connect到一个函数上,第三部,提取它的QDateTime,然后利用下面的函数就可以了,它是基于shell命令的:
void moreidDialog::slot_save_time_key()
{
QDateTime time;
QString str = txt_time->text();
//判断格式是否正确
if (str.count(".") != 4)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
int i = 0,j = 0;
i = str.indexOf(".");
QString year = str.mid(0,i);
j = str.indexOf(".",i + 1);
QString month = str.mid(i + 1,j - i - 1);
i = j;
j = str.indexOf(".",i + 1);
QString day = str.mid(i + 1,j - i - 1);
i = j;
j = str.indexOf(".",i + 1);
QString hour = str.mid(i + 1,j - i - 1);
i = j;
j = str.indexOf(".",i + 1);
QString min = str.mid(i + 1,j - i - 1);
bool ok = false;
year.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
month.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
day.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
hour.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
min.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
str = "date -s " + month + "/" + day + "/" + year;
system(str.toLatin1().data());
str = "date -s " + hour + ":" + min + ":" + "00";
system(str.toLatin1().data());
//强制写入到CMOS
system("clock -w");
}
第一步,创建一个dateTimeEdit,第二步,将其connect到一个函数上,第三部,提取它的QDateTime,然后利用下面的函数就可以了,它是基于shell命令的:
void moreidDialog::slot_save_time_key()
{
QDateTime time;
QString str = txt_time->text();
//判断格式是否正确
if (str.count(".") != 4)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
int i = 0,j = 0;
i = str.indexOf(".");
QString year = str.mid(0,i);
j = str.indexOf(".",i + 1);
QString month = str.mid(i + 1,j - i - 1);
i = j;
j = str.indexOf(".",i + 1);
QString day = str.mid(i + 1,j - i - 1);
i = j;
j = str.indexOf(".",i + 1);
QString hour = str.mid(i + 1,j - i - 1);
i = j;
j = str.indexOf(".",i + 1);
QString min = str.mid(i + 1,j - i - 1);
bool ok = false;
year.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
month.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
day.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
hour.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
min.toInt(&ok);
if (ok == false)
{
txt_time->setText(tr("ge shi cuo wu"));
return;
}
str = "date -s " + month + "/" + day + "/" + year;
system(str.toLatin1().data());
str = "date -s " + hour + ":" + min + ":" + "00";
system(str.toLatin1().data());
//强制写入到CMOS
system("clock -w");
}
全部回答
- 1楼网友:天凉才是好个秋
- 2021-01-12 21:35
QDateTimeEdit *dateTimeEdit = new QDateTimeEdit( QDateTime::currentDateTime(), this );
在看看QDateTime类是怎么设置时间的就行了
在看看QDateTime类是怎么设置时间的就行了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯