概要
定周期执行一个函数。
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
namespace 定周期函数
{
class Program
{
static void Main(string[] args)
{
Program program = new Program();
program.main();
Console.ReadKey();
}
public void main() {
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = true;
timer.Interval = 1000; //
timer.Start();
timer.Elapsed += new System.Timers.ElapsedEventHandler(writeHead);
}
private void writeHead(object source, ElapsedEventArgs e)
{
Console.WriteLine(DateTime.Now.ToString());
}
}
}
运行效果
2.补充说明
2.1 qt 定周期执行一个函数
在Qt中,如果你想要定周期执行一个函数,可以使用QTimer
类。QTimer
提供了重复和单次的定时器功能。以下是如何使用QTimer
来定周期执行一个函数的简单示例:
- 创建一个
QTimer
对象:
QTimer *timer = new QTimer(this); |
- 连接
QTimer
的timeout()
信号到你想要定期执行的函数:
connect(timer, &QTimer::timeout, this, &YourClass::yourFunction); |
- 设置定时器的间隔并启动它:
timer->start(1000); // 定时器每1000毫秒(1秒)触发一次 |
这样,yourFunction
就会每隔1秒被调用一次。
完整示例:
#include <QTimer>
#include <QObject>
#include <QDebug>
class YourClass : public QObject {
Q_OBJECT
public:
YourClass() {
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, &YourClass::yourFunction);
timer->start(1000); // 设置定时器间隔为1000毫秒
}
public slots:
void yourFunction() {
qDebug() << "Function is called every second.";
}
};
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
YourClass obj;
return a.exec();
}
#include "main.moc"
在这个示例中,YourClass
有一个成员函数yourFunction
,它会被定时器每隔1秒调用一次。注意,由于我们使用了QCoreApplication
,这个程序是一个没有界面的控制台应用程序。如果你在一个图形界面应用程序中使用QTimer
,通常你会将QTimer
作为某个QWidget
或QMainWindow
的子对象来创建。