OK335xS tmp75 Qt 温度读取
/*******************************************************************
* OK335xS tmp75 Qt 温度读取
* 说明:
* 简单的Qt显示tmp75温度值,其驱动已经在Linux驱动中存在,只需要
* 注册一下I2C设备就行了。
*
* 2016-3-26 深圳 南山平山村 曾剑锋
******************************************************************/ \\\\\\\\\\\-*- 目录 -*-///////////
| 一、cat main.c
| 二、cat mainwindow.h
| 三、cat mainwindow.cpp
| 四、cat temperaturethread.h
| 五、cat temperaturethread.cpp
|||||||||||||||||||||||||||||||||| 一、cat main.c
#include "mainwindow.h"
#include <QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowFlags(w.windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint);
w.show(); return a.exec();
} 二、cat mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow>
#include <temperaturethread.h>
#include <QString> namespace Ui {
class MainWindow;
} class MainWindow : public QMainWindow
{
Q_OBJECT public:
explicit MainWindow(QWidget *parent = );
~MainWindow();
TemperatureThread tempThread; public slots:
void dealWithData(QString); protected:
void moveEvent(QMoveEvent *);
void resizeEvent(QResizeEvent *);
void closeEvent(QCloseEvent *); private:
Ui::MainWindow *ui;
}; #endif // MAINWINDOW_H 三、cat mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox> MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this); connect(&tempThread, SIGNAL(msg(QString)),this, SLOT(dealWithData(QString))); tempThread.threadRunning = true;
tempThread.start();
} void MainWindow::dealWithData(QString data) { if( data.trimmed().length() == ) {
QMessageBox::about(this, "About", "Please check your temperature modle.");
exit(-);
} ui->temp->setText(QString("Temperature: ").append(QString::number(data.toFloat()/)).append(" C"));
} MainWindow::~MainWindow()
{
delete ui;
} void MainWindow::moveEvent(QMoveEvent *)
{
this->move(QPoint(,));
} void MainWindow::resizeEvent(QResizeEvent *)
{
this->showMaximized();
} void MainWindow::closeEvent(QCloseEvent *)
{
exit();
} 四、cat temperaturethread.h
#ifndef TEMPERATURETHREAD_H
#define TEMPERATURETHREAD_H #include <QThread>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <QFileInfo>
#include <QMessageBox>
#include <QTreeView>
#include <QDir>
#include <QFile>
#include <QDebug>
#include <QMessageBox> class TemperatureThread : public QThread
{
Q_OBJECT
public:
explicit TemperatureThread(QObject *parent = );
QString readTempFile(void); bool threadRunning; signals:
void msg(QString str); public slots:
void run(); }; #endif // TEMPERATURETHREAD_H 五、cat temperaturethread.cpp
#include "temperaturethread.h" #define tmp75Path "/sys/bus/i2c/devices/3-004c/temp1_input" TemperatureThread::TemperatureThread(QObject *parent) :
QThread(parent)
{
} void TemperatureThread::run(){ while(threadRunning) { emit msg(readTempFile()); msleep(); } } QString TemperatureThread::readTempFile(){ QFile *file=new QFile(tmp75Path); if ( file->exists() ) {
file->open(QIODevice::ReadOnly|QIODevice::Text);
QString data = QString(file->readAll());
file->close();
return data;
} else {
return "";
}
}
OK335xS tmp75 Qt 温度读取的更多相关文章
- OK335xS Linux Qt make: icpc: Command not found
OK335xS Linux Qt make: icpc: Command not found 一.出错现象: make: icpc: Command not found make: *** [main ...
- Qt QtXml读取xml文件内容
Qt QtXml读取xml文件内容 xml文件内容 <?xml version="1.0" encoding="UTF-8"?> <YG_RT ...
- Qt之读取配置文件
一.读取配置文件增删功能与修改参数数据 #ifndef CONFIG_H #define CONFIG_H #define QS_FILEPATH "E:\\woo\\Code\\Qt\\A ...
- Qt XML读取写入操作
XML(eXtensible Markup Language,可扩展标记语言)是普通用于数据交换和数据存储的一种多用途文本文件格式: SVG(可标量矢量图形)XML格式,QtSvg模块提供了可用于载入 ...
- QT+OpenGL读取显示图片,OpenGL在QT里的刷新问题(好几篇)
GLuint readImage(char *filename){ GLuint tex_id; GLint alignment; QImage tex, buf; buf.load ...
- QT中读取文本数据(txt)
下面的代码实现读取txt文档中的数据,并且是一行一行的读取. void MainWindow::on_pushButton_clicked() { QFile file("abcd.txt& ...
- QT 读取txt文件的几种方法
废话不说直接上代码 1. QString displayString; QFile file("/home/alvin/text.txt"); if(!file.open(QIOD ...
- Qt qtextstream读取文件
今天发现一个很有用的类:qtextstream 这个类可以以文件句柄为构造函数 然后用readAll函数返回一个QString的字符串
- Qt如何读取ico文件中的image(使用QImageReader和QIcon)
ico文件是一个容器,内部可以装载许多个image,我们可以通过QIcon的pixmap方法来获取需要的image QPixmap pixmap ( const QSize & size, M ...
随机推荐
- 1046 Shortest Distance (20)
#include<stdio.h> int main() { int n,m,a,b,tem,pre,p; int i,j; ]; while(scanf("%d",& ...
- linux eval命令
eval 功能说明:重新运算求出参数的内容.语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行.参 数:参数不限数目,彼此之间用分号分开. 1.eval命令将 ...
- Mac OS X 10.10 Yosemite PHP 5.5.14 free type support fix
通过将php将至5.4来勉强支持freetype扩展,不推荐此方法 after upgrading to new Mac OS X Yosemite, i noticed that free type ...
- Educational Codeforces Round 5 B
Problem B:http://codeforces.com/contest/616/problem/B B. Dinner with Emma 题意:一对夫妻要去餐厅吃晚饭,Emma 想去最豪华( ...
- Pie Charts
Default pie chart The default pie chart with no options set. Source Code $.plot('#placeholder', da ...
- dll的概念 dll导出变量 函数 类
1. DLL的概念 DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数.变量或类.这些可以直接拿来使用. 静态链接库与动态链接库的区别: (1)静态链接 ...
- jmeter 测试java协议经验总结
对java协议的良好支持,是jmeter比loadrunner优秀的地方,但是坑也不少,本文将相关点都整理下来备忘 一. 依赖的jar包 使用IDE开发jemter java协议脚本时,需要导入以下几 ...
- SaaS系列介绍之十: SaaS的商业模式
1 引言 赚钱之道很多,但是找不到赚钱的种子,便成不了事业家.作为职业软件人,我们都寻求使用一种有效而经济的过程来建造一个能够工作的,有用的产品. ...
- Java Web开发 之小张老师总结GET和POST区别
get和post区别1.传输方式不同,get在request-line中传输(即在URL中传输).post在request-line及 request-body中传输(可认为隐藏传输)2.get传输长 ...
- VO,DTO,DO,PO的划分
实体类(VO,DTO,DO)的划分 经常会接触到VO,DO,DTO的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,VO对应 ...