当前位置: 代码迷 >> QT开发 >> 关于qt fream buffer 的有关问题。求高手解答
  详细解决方案

关于qt fream buffer 的有关问题。求高手解答

热度:413   发布时间:2016-04-25 04:57:32.0
关于qt fream buffer 的问题。求高手解答
为了方便说明,先提出一段最简单的代码用于描述问题。
//-------------------main.cpp--------------------------------
C/C++ code
#include <QtGui/QApplication>#include "mainwindow.h"int main(int argc, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();    return a.exec();}

//-------------------mainWindow.cpp--------------------------------
C/C++ code
#include "mainwindow.h"#include <stdio.h>MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent){    QString a;    printf("aaaaaaaaaaa\n");}MainWindow::~MainWindow(){}

//-------------------mainWindow.h--------------------------------
C/C++ code
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QtGui/QMainWindow>class MainWindow : public QMainWindow{    Q_OBJECTpublic:    MainWindow(QWidget *parent = 0);    ~MainWindow();};#endif // MAINWINDOW_H


开始正题:  
我写arm上的qt程序,其中主要是用到qt中的c++的原理做数据处理的部分, 用不到图形界面,但是我还是继承了QMainWindow类。用上面的最基本的框架做开始来写程序。
但是现在我的arm板是工业级的,不支持图形显示功能,我在驱动里配置了/dev/fb0 这个设备。 但是我在运行qt程序的时候显示错误,错误提示大概就是 /dev/fb0 所对应的地址映射不争确。  

问题一:我想让我的qt程序不基于freambuffer。 即不继承qMainWindow类, 但是上面的QApplication、还有Q_OBJECT 是不是都基于fb的呢。 我去掉了继承的QMainWindow类。 运行程序,仍然提示“/dev/fb0 所对应的地址映射不争确。”,qt能不能做出不基于freambuffer的程序呢。求指点?

问题二:还是基于上面的问题,我能不能在配置嵌入式版本的qt的时候就把 对freambuffer这个功能给去掉呢。 或者在配置源码里面找到对freamBuffer 这个设备的检测部分的代码, 然后让检测对此部分忽略掉,这样运行程序就不报错了。 不知道这两种方法那种可行?

问题三:不知道我上面的思路有没有错误,或者我那部分的分析不正确, 或者有没有什么更好的思路能否指点一下?









------解决方案--------------------
按照你的需求,不要创建Qt GUI Application类型的工程,有Qt console 。

------解决方案--------------------
打开你的.pro文件,在后面加入:

QT -= gui
CONFIG += console

把main.cpp改成这样:

C/C++ code
#include <QCoreApplication>#include <QTimer>int main(int argc, char *argv[]){    // 创建非UI的应用入口    QCoreApplication app(argc, argv);    // 创建你的主类    CTest test;    // 在进入事件循环后执行    QTimer::singleShot(0, &test, SLOT(start()));    // 进入事件循环    return app.exec();}
  相关解决方案