Qt界面指示灯
在micro2440按键测试程序中,按下某个键界面中指示灯变亮。我现在自己做了一个界面,界面中有四个指示灯,想实现的功能就是按下某个键,界面中的某个指示灯改变颜色,按键驱动已经做好了,可不可以在开发板原有的按键测试程序的基础上稍做修改,实现这个功能,下面是按键的测试程序:#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/select.h>
#include <sys/time.h>
#include <errno.h>
int main(void)
{
int buttons_fd;
char buttons[6] = {'0', '0', '0', '0', '0', '0'};
buttons_fd = open("/dev/buttons", 0);
if (buttons_fd < 0) {
perror("open device buttons");
exit(1);
}
for (;;) {
char current_buttons[6];
int count_of_changed_key;
int i;
if (read(buttons_fd, current_buttons, sizeof current_buttons) != sizeof current_buttons)
{
perror("read buttons:");
exit(1);
}
for (i = 0, count_of_changed_key = 0; i < sizeof buttons / sizeof buttons[0]; i++)
{
if (buttons != current_buttons)
{
buttons = current_buttons;
printf("%skey %d is %s", count_of_changed_key? ", ": "", i+1, buttons ==
'0' ? "up" : "down");
QPalette pal = pushButton->palette();
pal.setColor(QColorGroup::ButtonText,QColor(255,0,0));
pushButton->setPalette(pal);
count_of_changed_key++;
}
}
if (count_of_changed_key) {
printf("\n");
}
}
close(buttons_fd);
return 0;
}