C语言实现的数字时钟代码 用fltk
时间: 2024-02-20 21:58:14 浏览: 74
C语言实现时钟代码
好的,以下是用C语言和Fltk库实现的数字时钟代码:
```c
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Box.H>
Fl_Window* window;
Fl_Box* clock_box;
Fl_Button* quit_button;
void update_time(void* data) {
time_t t = time(NULL);
struct tm* tm = localtime(&t);
char time_str[9];
sprintf(time_str, "%02d:%02d:%02d", tm->tm_hour, tm->tm_min, tm->tm_sec);
clock_box->label(time_str);
Fl::repeat_timeout(1.0, update_time);
}
void quit_callback(Fl_Widget* widget, void* data) {
window->hide();
}
int main(int argc, char** argv) {
window = new Fl_Window(200, 100, "Digital Clock");
clock_box = new Fl_Box(0, 0, 200, 50, "00:00:00");
clock_box->align(FL_ALIGN_CENTER | FL_ALIGN_INSIDE);
clock_box->labelsize(30);
quit_button = new Fl_Button(70, 60, 60, 30, "Quit");
quit_button->callback(quit_callback);
window->end();
window->show(argc, argv);
Fl::add_timeout(1.0, update_time);
return Fl::run();
}
```
这个程序创建了一个200x100的窗口,其中包括一个显示当前时间的Fl_Box和一个退出程序的Fl_Button。程序使用Fl::repeat_timeout()和Fl::add_timeout()函数更新时间和处理用户输入。程序会每秒调用update_time()函数来更新时间。当用户点击退出按钮时,程序调用quit_callback()函数来退出程序。
阅读全文