新手 弄毕业设计 问题相当难搞定!!
小弟毕业设计 要用qt做一个led控制的图形界面 出现了比较大问题 希望高手帮忙解决下呢 初学者 基础很差[img=http://b98.photo.store.qq.com/psb?/39a33996-1979-42bd-80cf-][/img]下面是代码
edtest.h
#ifndef LEDTEST_H
#define LEDTEST_H
#include <QMainWindow>
namespace Ui {
class ledtest;
}
class ledtest : public QMainWindow {
Q_OBJECT
public:
ledtest(QWidget *parent = 0);
~ledtest();
public slots:
void LED1_Toggle();
void LED2_Toggle();
void LED3_Toggle();
void LED4_Toggle();
protected:
void changeEvent(QEvent *e);
private:
Ui::ledtest *ui;
};
#endif // LEDTEST_H
ledtest.c #include "ledtest.h"
#include "ui_ledtest.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<string.h>
#include <sys/ioctl.h>
#include<stdio.h>
#include<QDirectPainter>
static int fb;
static int LED1=0, LED2=0,LED3=0,LED4=0;
ledtest::ledtest(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::ledtest)
{
ui->setupUi(this);
int screenWidth=QDirectPainter::screenWidth();
int screenHeight=QDirectPainter::screenHeight();
this->resize(screenWidth,screenHeight);
connect(ui->checkBox_LED1,SIGNAL(toggled(bool)),this,SLOT(LED1_Toggle()));
connect(ui->checkBox_LED2,SIGNAL(toggled(bool)),this,SLOT(LED2_Toggle()));
connect(ui->checkBox_LED3,SIGNAL(toggled(bool)),this,SLOT(LED3_Toggle()));
connect(ui->checkBox_LED4,SIGNAL(toggled(bool)),this,SLOT(LED4_Toggle()));
system("/etc/rc.d/init.d/leds stop");
fb=open("/dev/EmbedSky-leds",O_RDWR);
if(fb<0)
{
perror("open device leds fail");
exit(1);
}
for (int i = 0 ; i < 4; i ++)
{
ioctl(fb, 0, i);
}
}
ledtest::~ledtest()
{
delete ui;
}
void ledtest::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent:: LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void ledtest:: LED1_Toggle()
{
LED1=~LED1;
if(LED1==1)
{
ioctl(fb,1,0);
}
else
{
ioctl(fb,0,0);
}
}
void ledtest:: LED2_Toggle()
{
LED2=~LED2;
if(LED2==1)
{
ioctl(fb,1,1);
}
else
{
ioctl(fb,0,1);
}
}
void ledtest:: LED3_Toggle()
{
LED3=~LED3;
if(LED3==1)
{
ioctl(fb,1,2);
}
else
{
ioctl(fb,0,2);
}
}
void ledtest:: LED4_Toggle()
{
LED4=~LED4;
if(LED4==1)
{
ioctl(fb,1,3);
}
else
{
ioctl(fb,0,3);
}
}
--------------------编程问答-------------------- 请问出了什么问题,问问题要把问题描述清楚。
图片需要上传至csdn个人空间相册,在付链接 --------------------编程问答-------------------- 都是如此,不知道什么问题,不过楼主比较好,还有代码。
有的什么都没有,就问是什么问题,晕! --------------------编程问答-------------------- 恩 小弟第一次发呢 有些规矩还不懂 抱歉啦 ~~
--------------------编程问答-------------------- 刚注册的号呢 一周内不能上传照片哎~~ --------------------编程问答-------------------- 有个简便方法,http://www.qt-apps.org
上有一个led的例子。 --------------------编程问答-------------------- 高人呀 小弟的英文水平经不起考验的~~ --------------------编程问答-------------------- http://hiphotos.baidu.com/qichengdong123/abpic/item/1ddc58c88d1001e93357b1b4b80e7bec55e797c7.jpg 这是图片的地址 --------------------编程问答-------------------- 别沉呀 求高手~~~ --------------------编程问答--------------------
太小了啊!!看不清字的 --------------------编程问答-------------------- http://user.qzone.qq.com/1258885060/infocenter#!app=4 不好意思呢 现在应该没问题啦 大姐一定帮我解决呀 --------------------编程问答-------------------- http://hi.baidu.com/qichengdong123/album/item/913e9d299b504fc20d3749bee5dde71191ef6dc7.html# 这是图片 --------------------编程问答-------------------- QDirectPainter 只能在 Qt for Embedded Linux使用
你是编译嵌入式Linux 的qt应用程序吗? 或者告诉我你用什么编译器 --------------------编程问答-------------------- 嗯~·是linux下qt应用程序 用qt creator 写程序编译的 代码我是手册上复制的 --------------------编程问答-------------------- --------------------编程问答-------------------- 你看是不是缺少
#include <QDirectPainter>头文件啊? --------------------编程问答-------------------- 我的毕业设计也是QT编程,但我还一点都不会呢!要好几个界面呢,第一个温度显示界面我就不会! --------------------编程问答--------------------
你直接用ui,然后代码调用ui上的部件就行了啊! --------------------编程问答-------------------- #include <QDirectPainter>
头文件有的 怎么直接用ui 希望详细点 --------------------编程问答--------------------
你打开Qt Creator,创建一个Qt Gui Application,里面带ui,然后你就可以在里面随便布局,按你自己的想法了。布局好后,可以在代码里直接调用你添加的窗体部件,例如:
如果你的窗体里有个部件名字叫pushButton_2, 你可以用ui->pushButton_2这样调用,这样就不用你自己在代码里面定义了。 --------------------编程问答--------------------
哎,Linux qt应用 不等于 Qt for Embedded Linux 应用。
你先编译出跑给ARM板子的程序来控制LED是不是? 那么可以用QDirectPainter这个类,可以在本地编译,但是不能运行。你用Qt-creator点大三角是用g++编译+运行,你需要用arm-linux-g++来编译。
你要是编写在本地运行的程序,通过串口来控制LED,那么你不能使用QDirectPainter这个类。
--------------------编程问答-------------------- 嗯 我现在是先把程序编译通过 生产可执行文件 再一起和qt一起烧到板里 ~~我接下来该怎么修改这程序呢~~
补充:移动开发 , Qt