问题标签 [qtembedded]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
993 浏览

qt - 如何在 qt 应用程序中更改 QWS_SIZE?

我们通常像这样导出qt嵌入的环境变量:

现在我希望 QWS_SIZE 将在我的应用程序中更改。换句话说,我希望 Qt 应用程序可以控制帧缓冲区大小。QWSServer::Geometry 可以做到吗?我失败了 。感谢您的任何回复。

0 投票
0 回答
509 浏览

opengl-es - Directfbgl 与 Qt-4.6.2

我正在使用为 Linux/MIPS 设备与 directfb-1.4.14 交叉编译的 Qt-4.6.2。我正在尝试在播放一些视频的 QT 应用程序之上创建叠加层。最近在 DirectFB 网站上的新闻中,更新了 DirectFB 上的 Qt 应用程序现在可以使用 OpenGL。这是我的问题:

  • 是否可以在 Linux/MIPS 设备上将 directfbgl 与 Qt-4.6.2 一起使用?如果是,如何将 directfbgl 与 Qt-4.6.2 合并并交叉编译?
  • directfbgl 应用程序会在我不支持 OpenGL 的硬件上运行吗?

谁能帮帮我吗?

0 投票
1 回答
1163 浏览

qt - 如何更改 QWS 上的光标形状?

在 X11 上,Qt 支持 Xcursor 库,它允许全彩色图标主题。我可以改变光标:

但是在QWS上,效果很差。我想改变QWS上的光标形状。我无法在 arm 9 系统上安装 libxcursor/xcursor-dev 或类似设备来使用全彩光标。所以我尝试修改Qt-embedded-opensoure。

我想用 MyCursor 替换 ArrowCursor。我该如何更换它?是 .png 吗?还是.jpg?我找不到任何关于它的资源。感谢您的任何回复。

0 投票
2 回答
2660 浏览

qt - 如何使用 QEvents 在 Qt 中模拟 QPushButton 单击

我在嵌入式系统上有一个自定义输入设备,并且必须将输入转换为 Qt 中的适当事件。在我当前的视图中,我有一个 QListView 和一些 QPushButtons。我在我的小部件中使用以下代码。

我可以在列表和按钮之间向上/向下/向右/向左移动,但我无法单击按钮。我也尝试过使用 Qt::Key_Enter 和 Qt::Key_Return ,但两者都不起作用。

如果在我的电脑上运行应用程序,在我的键盘上按空格键或鼠标左键会单击一次按钮。这表明在某处,事件被更改为按钮比直接获取 Qt::Key_Space 更喜欢的东西,对吧?

任何人都知道如何很好地解决这个问题?我可以检查哪个(如果有)按钮有焦点并手动单击它,但这不是很优雅的编码......

0 投票
1 回答
509 浏览

qt - Qt 4.5.2 - linux - 更改库根目录

我有 2 个用于不同 arm 设备和不同工具链的 Qt 版本:Qt 4.5.2 和 Qt 4.7.3。两个版本都应该放在 /opt/onyx/arm 目录中:(

/usr/arm-marvell-linux-gnueabi如果我将第一个 Qt 构建移动到另一个目录 ( ) 并运行 qmake ,则会发生以下错误:

可能是什么问题,我该如何解决 /opt/onyx/arm 冲突?

0 投票
0 回答
785 浏览

c++ - C ++ QT4将字符串转换为键码?

我正在尝试使用 QT Embedded 构建虚拟键盘。我正在使用 QWSServer::sendKeyEvent() 发送一个按键,它需要按键的 unicode 值。有没有一种简单的方法可以将字符串(例如“A”)转换为其按键值?

谢谢

0 投票
2 回答
648 浏览

qt4 - Qt4 嵌入式 Linux 的新手 - 应用程序管理、部署和通用架构?

首先,我为提出这些基本问题深表歉意。我正在决定是否应该在嵌入式 linux 设备上使用 Qt(第一次尝试将在 TI OMAP EVM 上)来开发 UI 以及管理在设备上运行的应用程序(以及在运行期间添加删除应用程序)无线 (WiFi) 软件下载时间)。

我一直在阅读诺基亚 Qt 参考文档,感觉自己错过了理解的基本步骤。

如果我可以澄清一下应用程序的含义(我不确定我阅读的 Qt 文档是否与此一致):应用程序是在设备上运行并使用该设备服务的程序。所以我认为我可以将 Qt 用作应用程序框架,并从中调用(或启动)Qt 应用程序。应用程序示例是:电子邮件客户端、映射、笔记本等。我会设想一个主窗口,其中包含可用应用程序列表(可能是 android 等图标),然后从该主窗口启动应用程序。如果事件来自系统,那么应用程序框架将适当地路由事件,这可能会导致另一个应用程序使用全屏。

我(作为一个完整的新手)正在努力理解这是否意味着我必须运行一个应用程序然后从中运行应用程序,或者 Qt 架构中是否有一些内置机制来执行这种类型的应用程序启动。

因此,与其直接询问如何做到这一点,我显然需要从基础开始。我已经阅读了有关 QWSServer 和 QWSClient 架构的内容,这在某种程度上是有道理的。但是,我找不到有关如何:

  • 启动应用程序或管理它们。(谁启动/暂停应用程序?)
  • 应用程序的部署模型(它们是否与 QWSServer 在同一个 Linux 进程或线程中?)
  • 如何在运行时添加应用程序?

我猜我错过了一个非常明显的顶级文档,它解释了这种基本功能。可能是我应该花时间下载 SDK 并实际尝试使用 Qt(再次道歉,我现在没有太多时间做适当的工作:()

因此,如果有人能指出相关文件的方向,将不胜感激!

0 投票
0 回答
1072 浏览

qt - qt 嵌入式设备的模拟小部件

我想为我的嵌入式设备构建一个模拟速度计,我发现了这个http://qt-apps.org/content/show.php/AnalogWidgets?content=87780

我用我的 ubuntu 计算机构建它,它工作正常,但是当我将构建配置更改为我的 arm 处理器嵌入式设备时,我收到这个错误,当我尝试编译项目时, no such instruction: 'swpb %dl,%al,[%esi]' 我搜索了错误,我发现这是由我的编译器配置引起的。但我找不到任何解决方案。

0 投票
0 回答
1342 浏览

c++ - 以编程方式从在 QWS 帧缓冲区上运行的嵌入式 qt 应用程序更改为 tty?

我想知道如何以编程方式从嵌入式 Qt 应用程序更改为可用终端之一。

该应用程序通过 调用application -qws。从图形上看,它配置了 Linux 帧缓冲区(支持编译到内核中)并启用了 tty 驱动程序。

以编程方式执行此操作的原因是 Ctrl+Alt+FX 无法切换 ttys。

首先,我尝试了明显的作弊机制 -keyPressEvent我添加了覆盖system("chvt 2");不幸的是,这不起作用。

相反,我直接查看了chvt.c在busybox中的来源。从本质上讲,这归结为:

忽略使用xioctl和检测正确的 tty - 我知道/dev/console存在,我可以得到一个 RW 文件句柄。

再次,没有运气。

因此,chvt.c我决定迭代所有存在的帧缓冲设备,直到找到一个正在接收键盘输入的设备。然后我跑了

根据任何正常的 tty 更改,这都会导致黑屏,除了帧缓冲区设备随后返回,将我的应用程序带回来。

所以 - 我的问题 - 在不退出我的应用程序的情况下,我希望能够以编程方式切换到我选择的 tty,然后能够使用通常的 ctrl+alt+fX 机制切换回来。

环境:

  • Qt 4.7.4
  • Linux 3.3.3
  • 构建根 2011.11
  • 忙箱 1.19
  • uClibc 2.21

我怀疑但不确定,ctrl+alt+fX 最初不起作用的原因可能是 tty 更改无法按照 chvt 以编程方式工作的原因。

在这个阶段我应该指出,令人困惑的是,zap 键(ctrl+alt+backspace)确实按预期工作。

0 投票
3 回答
3882 浏览

multithreading - QWebView setContent 在一个单独的线程中

我有一个应用程序需要用于QWebView::setContent()将一些 HTML 内容加载到 QWebView。所有这些都发生在带有 ARMv5 处理器(想想 400 MHz)的嵌入式设备上。大多数时候,我可以在合理的时间内加载页面(最多 5 秒),但有时我的内容需要很长时间才能加载(300KB 的内容大约需要 30 秒)。

问题是setContent调用阻塞了主线程。我需要能够在加载期间处理事件,如果用户决定不再等待,甚至可以取消加载。

我正在考虑setContent在其他线程中运行调用,以便它不会阻塞事件处理,并且我可以在必要时取消它。但是,我得到了可怕的“必须在 GUI 线程中创建小部件”,而且我认为没有办法轻松解决这个问题。

是否可以QWebView::setContent在单独的线程中运行?如果是这样,怎么做?如果没有,是否可以在setContent运行时处理 GUI 事件?是否可以“取消”setContent通话?

编辑

再澄清一点,我真正感兴趣的是如何能够停止setContent调用和/或处理 GUI 消息,以便界面保持响应,并使用setContent.

编辑 2

为了进一步澄清,我正在处理长的静态内容,即没有 JavaScript,只有大量静态 HTML,即使在加载更多内容时用户也希望通过这些 HTML 滚动。主要思想是即使页面未完全加载,也允许她/他向下浏览页面。