问题标签 [qt5.6]
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.
windows - 如何在 Windows 上为 Raspberry Pi3 构建 Qt 以交叉编译
我已经尝试在 Windows 上为 raspberry pi3 构建 qt 6 个月了。我尝试了很多教程,阅读了很多论坛,但没有成功的结果。
我可以按照 RaspberryPi2EGLFS 在 virtualbox 中的 ubuntu 14.04 上构建 qt,它有一些错误,但我可以解决它们。我可以部署一个应用程序。我想在 Windows 上做同样的事情。
在http://visualgdb.com/tutorials/raspberry/qt/embedded/中有一个关于在 Windows 上构建的教程,我无法按照它构建。
一个可以为 raspberry pi3 构建 qt 的人通过参考上面的教程写到 qt 论坛。https://forum.qt.io/topic/68381/cross-compile-qt-windows-to-raspberry-3我试过这个我又得到错误。
我尝试了很多 QT 版本,例如 5.6.1、5.7.0、5.8.0、5.6.2(最后发布的长期支持版本)。Mingw 版本大于 4.9、MSVC2015 等。
每个版本都有不同的错误。5.7.0 有一个错误,他们说这个错误在 5.8.0 中已解决,而 5.8.0 中还有另一个错误。这个问题没有完成。
我只想在 Windows 上轻松地为树莓派 pi3 构建 qt。
请有人通过提供与支持 Raspberry Pi3 的版本协调工作的所有工具来编写教程。
visualgdb 提供了编译器的链接,但它们是 Raspberry Pi3 的旧版本,它有错误,我无法构建 Qt。
最后输出:
正在执行影子构建... 正在准备构建树... 运行配置测试(阶段 1)... 已启用预编译头支持。C:/SysGCC/Raspberry/bin/arm-linux-gnueabihf-g++ -c -fvisibility=hidden fvisibility.c 符号可见性控制已启用。c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld.gold.exe: -plugin: 未知选项 c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld .gold.exe:使用 --help 选项获取使用信息 collect2.exe:错误:ld 返回 1 退出状态 C:/SysGCC/Raspberry/bin/arm-linux-gnueabihf-g++ --sysroot=C:/SysGCC/树莓/arm-linux-gnueabihf/sysroot -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c bsymbolic_functions.c:2:2: error: #error "
我用 4.9.2 更改 MinGW,而不是生成 qmake.exe 然后,我更改一行 ( if true; then ###[ '!' -f "$outpath/bin/qmake" ]; to if [ '!' -f "$outpath/bin/qmake" ]; 然后 ###[ '!' -f "$outpath/bin/qmake" ];) 在 qtbase 中配置文件。我再次运行配置。
$ ../qt-everywhere-opensource-src-5.6.2/configure -platform win32-g++ -xplatform linux-arm-gnueabi-g++ -release -opengl es2 -device linux-rpi3-g++ -sysroot C:/SysGCC/ Raspberry/arm-linux-gnueabihf/sysroot -prefix /usr/local/qt5 -device-option CROSS_COMPILE=C:/SysGCC/Raspberry/bin/arm-linux-gnueabihf- -qt-xcb -verbose
输出:
构建选项:配置............可访问性accessibility-atspi-bridge alsa audio-backend c++11 c++14 clock-gettime clock-monotonic compile_examples concurrent cross_compile cups dbus egl eglfs eglfs_brcm enable_new_dtags evdev eventfd freetype完整配置 getaddrinfo getifaddrs harfbuzz iconv icu inotify ipv6ifname large-config largefile libudev linuxfb medium-config minimum-config mremap neon opengl opengles2 openssl pcre png posix_fallocate precompile_header qpa qpa reduce_exports 发布 rpath shared small-config system-jpeg system-zlib threadsafe-cloexec xcb xcb-glx xcb-plugin xcb-qt xcb-xlib xinput2 xkbcommon-qt xlib xrender 构建部分............ libs模式...... ... release 使用 sanitizer(s)...... 无 使用 C++ 标准 ..... c++14 使用黄金链接器....... 没有 使用新的 DTAGS ........ 是的
使用 PCH ........ 是 使用 LTCG ...... 否 目标编译器支持:Neon ...... ..... 是的Qt 模块和选项: Qt D-Bus ...... 是(在运行时加载 dbus-1) Qt Concurrent .......... 是 Qt GUI .. ................ 是 Qt Widgets ............. 是 大文件 ............. 是
QML 调试.......... 是 使用系统代理 ..... 否支持:可访问性............是ALSA............是CUPS............ ....... 是 Evdev ........ 是 FontConfig ...... 没有 FreeType ...... ......... 是(捆绑副本) Glib ............ 没有
GStreamer ......没有 GTK 主题 ................... 没有 HarfBuzz ...... 是(捆绑副本) Iconv .......... ........ 是的
ICU ....................是图像格式:GIF ...................是(插件,使用捆绑复制)JPEG ......................是(插件,使用系统库)PNG ......................是(在QtGui,使用捆绑副本) libinput ......没有日志后端:journald ......没有 syslog ...... .......... 没有 mtdev .................. 没有 网络:getaddrinfo .......... 是 getifaddrs .... ....... 是 IPv6 ifname .......... 是 libproxy....... 没有 OpenSSL ...... .. 是(在运行时加载库) OpenGL / OpenVG:EGL ........ 是 OpenGL ........ . 是 (OpenGL ES 2.0+) OpenVG ...... 没有 PCRE ................... 是(捆绑副本) pkg-config ...... 是 PulseAudio ...... 没有
QPA 后端:DirectFB ...... 没有 EGLFS ...... 是 EGLFS i.MX6 ............ 没有 EGLFS i.MX6 韦兰。没有 EGLFS EGLDevice .... 没有 EGLFS GBM .......... 没有 EGLFS Mali ...... 没有 EGLFS Raspberry Pi 。是 EGLFS X11 .......... 没有 LinuxFB ........ 是 Mir 客户端............ 没有 XCB .... ............. 是(捆绑副本)X 上的 EGL ...... 没有 GLX ...... . 是 MIT-SHM ............ 是 Xcb-Xlib ............ 是 Xcursor ............ 是(加载于运行时)Xfixes ......是(在运行时加载)Xi ......................没有 Xi2 ...... ........是Xinerama............是(在运行时加载)Xrandr............是(在运行时加载)Xrender .. …………警告:找不到 XKB 配置根目录,使用 -xkb-config-root 设置 XKB 配置数据的路径。这是键盘输入支持所必需的。
注意:Qt 在这个系统上使用 double 表示 qreal。这与 Qt 5.1 二进制不兼容。使用“-qreal float”进行配置以创建与 5.1 二进制兼容的构建。
Qt 现在配置为构建。只需运行'make'。一切都构建好后,您必须运行“make install”。Qt 将安装到 /usr/local/qt5
在重新配置之前,请确保从以前的构建中删除任何剩余部分。
TheBUKs@DESKTOP-5D6JDFN MSYS /c/qt/qt-build $ make cd qtbase/ && ( test -e Makefile || C:/qt/qt-build/qtbase/bin/qmake.exe C:/qt/qt- Everywhere-opensource-src-5.6.2/qtbase/qtbase.pro -o Makefile ) && C:/SysGCC/Raspberry/bin/make -f Makefile make[1]: 进入目录
C:/Qt/qt-build/qtbase' C:/qt/qt-build/qtbase/bin/qmake.exe -o Makefile C:/qt/qt-everywhere-opensource-src-5.6.2/qtbase/qtbase.pro make[1]: Leaving directory
C:/Qt/qt-build/qtbase ' make[1]: 进入目录C:/Qt/qt-build/qtbase' cd src/ && ( test -e Makefile || C:/qt/qt-build/qtbase/bin/qmake.exe C:/qt/qt-everywhere-opensource-src-5.6.2/qtbase/src/src.pro -o Makefile ) && C:/SysGCC/Raspberry/bin/make -f Makefile make[2]: Entering directory
C:/Qt/qt-build/qtbase/src' C:/qt/qt-build/qtbase/bin/qmake.exe -o Makefile C:/qt/qt-everywhere-opensource -src-5.6.2/qtbase/src/src.pro make[2]: 离开目录C:/Qt/qt-build/qtbase/src' make[2]: Entering directory
C:/Qt/qt-build/qtbase/src' cd corelib/ && ( test -e Makefile.qtzlib || C:/ qt/qt-build/qtbase/bin/qmake.exe C:/qt/qt-everywhere-opensource-src-5.6.2/qtbase/src/corelib/qtzlib.pro -o Makefile.qtzlib ) && C:/SysGCC /Raspberry/bin/make -f Makefile.qtzlib make[3]: 进入目录C:/Qt/qt-build/qtbase/src/corelib' C:/qt/qt-build/qtbase/bin/qmake.exe -o Makefile.qtzlib C:/qt/qt-everywhere-opensource-src-5.6.2/qtbase/src/corelib/qtzlib.pro make[3]: Leaving directory
C:/Qt/qt-build/qtbase/src/corelib'make[3]:C:/Qt/qt-build/qtbase/src/corelib' make[3]: Nothing to be done for
先进入目录'。make[3]: 离开目录C:/Qt/qt-build/qtbase/src/corelib' The syntax of the command is incorrect. make[2]: *** [sub-bootstrap-make_first] Error 1 make[2]: Leaving directory
C:/Qt/qt-build/qtbase/src' make[1]: * [sub-src-make_first] 错误 2 make[1]: 离开目录 `C:/Qt/qt- build/qtbase' make: *** [module-qtbase-make_first] 错误 2 *
python - 因为这段代码的QTabWidget的缺失方法是写的?
根据 python,我的错误在 TabWidget.addTab
这是我的错误 ui.setupUi(window)
我如何修复 //AttributeError: 'QDialog' 对象没有属性 'addTab'
当他试图运行代码时,两行都给了我错误,所以我想不出任何新东西,也不明白我已经阅读了很多解释
c++ - 计算 te 的阴影贴图
尝试从我的数据中的地形图生成阴影贴图时遇到问题。我已经成功地使用了如下图所示的照明程序(定向照明,方位角:180',仰角:90')。
最终我需要在那里应用更多阴影,所以我尝试创建 shadowMap
这是我初始化着色器时的代码
这是我绘制场景的代码
这是我分别用于阴影的代码顶点和片段着色器代码
最后一个代码是让我的顶点和片段着色器显示场景+阴影。
我相信通过使用上面的代码,我不需要放置biasMatrix 来规范化纹理。
下图是我现在实现的截图。仍然没有阴影,但上部有黑色伪影(如果我移动灯光位置,它会移动)
另外,我需要应用几何变换精度来处理我几何中的高数字(x 和 y 轴)
我不确定我在哪里犯了错误。我怀疑它在矩阵转换中,但不知道要解决这个问题。无论如何,提前感谢您的帮助。
qt - QWidgets 的“可见”属性的 QPropertyAnimation 只能以一种方式工作
我有一个任务是我需要执行一系列 PropertyAnimations。其中一个动画是改变 QWidget 的可见性。当我试图隐藏它时,它工作得很好:
但是当我反过来尝试时,什么也没有发生:
难道我做错了什么?或者这可能是Qt中的一个错误?如果有帮助,我正在使用 Qt 5.6.1。
qml - StateMachine 和 State 中的 QML 范围
我阅读了有关 QML 范围的文档。
此文档允许以下内容(在上述文档中的组件实例层次结构第二个示例下):
我的状态机 ( BaseStateMachine.qml
):
我的州(BaseState.qml
):
我的主要(main.qml
):
但我收到以下错误:
qrc:/qml/BaseState.qml:4: ReferenceError: someProperty is not defined
我是不是误会了什么?我还阅读了 qml 中关于 StateMachine 的文档,并没有发现 StateMachines 和 States 中的范围界定有任何例外。
更新:
如果我添加一个BaseStateMachine.qml
像这样的 id:
然后 QtCreator 就会意识到someProperty
in BaseState.qml
. 在“开始意识到”下,我的意思是,如果我 ctrl/command+click 中的属性,BaseState.qml
它会将我带到BaseStateMachine.qml
. 一旦我从BaseStateMachine.qml
QtCreator 中删除 id 就找不到someProperty
了。
c++ - 如何使用 QAudioOutput 和 QAudioDecoder 播放 mp3 文件?
我想使用 QAudioOutput 将音频文件播放到指定设备。.wav 文件没问题。但是播放.mp3文件时只是有嗡嗡声(.mp3文件是我知道的压缩文件,所以QAudioOutput不能直接播放)。
我正在尝试在使用 QAudioOutput 之前解码 .mp3 文件,但我不知道如何。
你能给我一个示例代码,以便我们可以使用 QAudioOutput 和 QAudioDecoder 播放 mp3 文件吗?
qt - 如何在 QML 中正确保存窗口状态
我阅读了 Qt 文档,查看了 SDK 提供的几个示例,我从源代码构建了 Qt Creator 以了解 Qt 开发人员是如何做到的......仍然没有运气。
我正在为 Windows 和 Mac 开发一个跨平台应用程序。在 Mac 方面,我基本上可以尝试我的任何解决方案,它们都可以完美运行(我想这要归功于 MacOS)。另一方面,在 Windows 上,我总是会发现某种错误或粗略的行为。
在我详细介绍之前,我的问题的根源是支持具有不同分辨率的显示器的多个显示器环境。
简而言之,我的两个主要解决方案:
- 由于我主要在 QML 中编写应用程序,因此我将
ApplicationWindow
其用于主窗口。我保存了我的ApplicationWindow
状态Settings
。我的代码考虑了先前保存的位置是否仍然有效(例如,如果应用程序在监视器上时关闭,不再可用)......我必须这样做的唯一原因是因为 Windows 只会在“外层空间”中打开我的应用程序窗口(Mac 会自动处理)。如果我在其中一个监视器上关闭我的应用程序,然后我更改其他监视器的缩放因子,然后我重新打开我的应用程序,我的应用程序(在 Windows 上)会进入一个非常奇怪的状态。它在正确的显示器上打开,但它的比例太大了,UI 元素只是奇怪地浮动。如果我调整窗口大小,一切都会恢复正常。 - 我将 QML 暴露
ApplicationWindow
给放入 QWidget 容器中的 C++,然后我QMainWindow
通过将其设置为setCentralWidget
. 使用这种方法,我可以访问saveGeometry
andrestoreGeometry
,它会自动处理多个显示器的定位,但我在 1. 中描述的缩放异常仍然存在。
有人解决了这个问题吗?在此先感谢您的帮助和欣
c++ - 调用 setValue(0) 时的 QProgressDialog
我有一个继承自 QProgressDialog 的类。它有时会崩溃及其内部的 QProgressDialog 类代码。
我检测到当setValue(0);
在其构造函数中调用时,会发生崩溃。当我注释掉这个函数时,它不会崩溃。即使在构造对象后调用 setValue(0) 仍然会发生崩溃。
当信号发射得更快时会发生这种崩溃。代码片段显示了函数的调用方式:
进度信号在另一个线程的 myFunc() 内部发出。在这个函数中,在一个文件夹中读取多个文件并发出进度信号。
为什么会发生这种崩溃?
提前致谢。
qt - QWebEngineView 构造函数静默退出
对于没有必要 OpenGL 功能的 Windows 计算机,尝试QWebEngineView
静默创建对象会导致进程exit()
. 没有错误信息,没有异常,只是退出。我的问题是如何捕捉这种情况以告诉用户更新 OpenGL 驱动程序?