小编jsa*_*aji的帖子

如何在没有X11或/ dev/fb0的Linux下拍摄屏幕截图?

我正在研究基于Linux的嵌入式系统.它使用Qt进行窗口化,没有Xserver.我的目标是拍摄屏幕截图.

我尝试过使用FBgrab.它失败了,因为我没有,/dev/fb0因为内核中没有启用帧缓冲区.我们正在运行基于Qt的应用程序以在屏幕上显示UI(HDMI).我也在QT网站上尝试了使用QPixmap和抓取窗口的屏幕截图应用程序.这也是一个失败,因为我无法在系统中运行两个QAppliction,因为它会影响显示.

有没有其他方法来拍摄屏幕?

c++ linux embedded qt directfb

8
推荐指数
1
解决办法
1640
查看次数

为什么内存使用量超过Linux中的物理RAM?

我正在研究一个具有512MB RAM和足够交换内存的嵌入式系统来支持该应用程序.从内核中,我将内核cmd参数的RAM大小限制为130MB.并使用禁用交换swapoff -a.我还禁用了内核过度使用,因此应用程序可以单独在物理内存中运行.我验证了/proc/cmdline和的变化/proc/meminfo.现在,当我运行应用程序并检查顶部值时,我的应用程序的VSZ是177m,这超过了实际的内存!这怎么可能?这个记忆是从哪里来的?

c linux memory memory-management linux-kernel

6
推荐指数
1
解决办法
1483
查看次数

如何在QML中播放视频?

我是qml的新手.我想知道视频是如何在qml中播放的.如何在后端处理视频(负责视频播放的类和模块).如何添加自定义播放器以QML播放视频?这有什么文件吗?是否有任何编写qt-plugin用于视频播放的教程.

我不知道从哪里开始看?请帮忙.提前致谢.

c++ linux qt qml qtmultimedia

5
推荐指数
1
解决办法
2364
查看次数

如何在Linux中使用libudev以编程方式列出USB大容量存储设备?

我正在用linux中的大容量存储设备做一个项目.我正在尝试编写一个应用程序,它将列出所有连接的USB大容量存储设备,并在插入新的大容量存储设备时发出通知.我正在使用libudev来实现此目的.我使用了" http://www.signal11.us/oss/udev/ "中的代码.我在这里做了修改

  /* Create a list of the devices in the 'block' subsystem. */
  enumerate = udev_enumerate_new(udev);
  udev_enumerate_add_match_subsystem(enumerate, "block");
  udev_enumerate_scan_devices(enumerate);
  devices = udev_enumerate_get_list_entry(enumerate);
Run Code Online (Sandbox Code Playgroud)

现在的问题是它列出了所有的块设备.我只想要usb大容量存储设备.如何获得此列表.另一个问题是如何使用libudev获取USB存储设备的标签.

c c++ linux user-interface linux-kernel

5
推荐指数
1
解决办法
6092
查看次数

Gerrit Trigger在jenkins的多个SCM上无法正常工作

我正在尝试为项目设置Jenkins.我使用git作为SCM和gerrit作为代码审查工具.我的项目包含许多存储库,因此我在Jenkins中使用MultipleSCM插件来检出不同的存储库.我已经配置了Gerrit Trigger,用于在代码签入发生时启动构建.问题是,当用户在任何一个repo中更改all时,所有其他repos都会获得相同的CHANGE细节,这些细节在任何其他repo中都无效.

    > git rev-parse 873a6b7209411fa825f35da1c6fbc7f280cff06b^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

如何解决问题?请帮忙.有什么工作吗?提前致谢.


Jenkins版本:1.588使用的插件:git,gerrit-trigger,multiple-scm.我有两个gerrit项目(gerrit1和gerrit2).我在同一个jenkins工作中使用gerrit项目(因为它们是依赖的).如果一个开发人员对gerrit1进行了更改并推动了gerrit,Jenkins会触发并开始构建.当有一个gerrit项目时,这工作正常.但在我的情况下,如果gerrit1发生变化,gerrit2将在jenkins中具有相同的变化参数.因此,gerrit2的结账失败,因为分支可能不同.

git gerrit jenkins

5
推荐指数
1
解决办法
1136
查看次数

QT信号插槽不工作

我在尝试执行以下程序时遇到了一个奇怪的问题

main.cpp

#include "sample.h"
#include <QList>
#include <unistd.h>

int main(int argc, char **argv)
{
  A a;
  a.callA();
  while(1)
    sleep(1);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

将sample.cpp

#include "sample.h"
#include <QList>
#include <QMetaMethod>
#include <unistd.h>


Thread::Thread(A *a)
{
}
void Thread::run()
{
  int i = 5;
  while (i){
    qDebug()<< i;
    sleep(2);
    i--;
  }
  emit processingDone(">>> FROM THREAD");
  qDebug()<<"Emited signal from thread";
}

void A::callA()
{
  qDebug()<<"from callA";
  //moveToThread(thread);
  thread->start();
  //thread->run();
  //emit signalA(">>> FROM CallA");
}

void A::slotA(QString arg)
{
  qDebug()<<"from sloatA "<< arg;
} …
Run Code Online (Sandbox Code Playgroud)

c++ qt

0
推荐指数
1
解决办法
880
查看次数