bry*_*yce 0 c++ linux user-interface qt fstream
我试图保持一个文件/ dev/fb0(linux framebuffer)流在几个Qt成员函数中打开.目标是使用myscreen :: connect函数打开帧缓冲区
bool myscreen::connect()
{
std::fstream myscreen_Fb;
myscreen_Fb.open("/dev/fb0")
QImage* image;
image = new QImage(w, h, QImage::Format_RGB888);
QScreen::data = image->bits();
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,这将打开帧缓冲区并创建一个新的QImage,作为写入屏幕的数据的内存缓冲区.然后我的"图像"将通过bits()函数指向屏幕上的第一个可见像素(内存).我必须实现这一点,因为我的硬件不支持默认的内存映射.
然后我想把它搞砸到屏幕上:
void myscreen::blit(const QImage &img, const QPoint &topLeft, const QRegion ®ion)
{
QScreen::blit(img, topLeft, region);
write(myscreen_Fb, image.bits(), image.size());
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法将指向第一个可见像素的指针打开使用,并从GCC获得有关未在范围内声明的myscreen_Fb的投诉.有任何想法吗?
更新
我提出了建议的更改并在类中声明了该函数,但是得到了这个让我疯狂的错误.
error: expected constructor, destructor, or type conversion before '.' token
Run Code Online (Sandbox Code Playgroud)
它指的是包含以下内容的行:
vopuscreenFd.open("/dev/fb0", fstream::out);
Run Code Online (Sandbox Code Playgroud)
布莱斯
| 归档时间: |
|
| 查看次数: |
1382 次 |
| 最近记录: |