文章评分
次,平均分 :
最近写了QT4的第一个编码问题:系统时间界面及实现修改系统时间。本人综合网上的资源,在此作了一个总结。
首先,Qt本身不提供时间设置的函数
Qt本身不提供时间设置的函数,实现修改系统时间使用windows 的native API函数SetSystemTime
所以,头文件需要加入 #include<windows.h>
代码部分
1 2 3 4 5 6 7 8 9 10 |
//下面是我的程序的部分代码 void MainWindow::on_pushButton_3_clicked() { SYSTEMTIME st; GetLocalTime(&st); st.wHour=ui->spinBox->value(); st.wMinute=ui->spinBox_2->value(); st.wSecond=ui->spinBox_3->value(); SetLocalTime(&st); } |
常见问题:
- 可能有人在网上找到下述代码:
1 2 3 4 5 6 7 8 9 |
//下面的代码出现时区问题 bool Dialog::timeedit() { SYSTEMTIME st; GetSystemTime(&st); st.wHour=ui->timeEdit->time().hour(); st.wMinute=ui->timeEdit->time().minute(); return SetSystemTime(&st); } |
上述代码的运行结果出现时区不对问题:GetSystemTime()获取的是格林尼治时间;
- 以上都没问题,程序不报错,但是系统时间就是不改变
请用 管理员身份运行QTcreator,程序权限不够

关注我的微信,获取文章更新
如果你觉得这篇文章对你有用,可以点击下面的“赞助作者”打赏作者!
转载注明原文出处:王柏元的博客>>https://wangbaiyuan.cn/qt-how-to-modify-system-time-and-time-zone-error-problem.html
不错,问题果然解决了
博主最近很忙吗?怎么还不更新信息呢?我可是你的终极粉丝呢!
@hezhezhiyu没空
在哪里看到的?完全不懂