问题标签 [qt5.7]

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 回答
91 浏览

c++ - GraphicsView 缩小比例问题

我的工作环境:Qt 5.8 MSVC2015 64bit, QT GraphicsView, Windows 7 64 bit

当 GraphicsView 垂直滚动条消失时,缩小应该停止。

所以我尝试了下面的代码,但它失败了:

任何建议我该怎么做才能修复上述代码?

0 投票
1 回答
132 浏览

c++ - QT Windows GUI - 如何在没有 qtsingleapplication 的情况下每次只打开一次实例

我正在使用 QT for Windows 开发应用程序,我遇到以下问题: 1. 一些用户正在打开同一应用程序的多个实例,这是不允许的。如何控制每个用户只打开一次应用程序,而不使用 qtsingleapplication?

0 投票
1 回答
3009 浏览

c++ - Qt C++ 错误没有匹配函数调用'QString::QString(KeySequence)'

我将 Qt 4.8.4 用于我用 C++ 编写的 GUI 项目。现在我合并到 Qt 5.7 版。经过漫长的代码调整过程,我终于打开了我的 GUI。但是当我运行我的计算代码时,我仍然得到这个错误:

调用 'QString::QString(KeySequence)' 没有匹配的函数

在这些行中:

似乎使用 QKeySequence 是错误的。从 Qt 站点我看不到问题所在。

有人知道出了什么问题吗?

谢谢 !

这是(部分)我的代码:

0 投票
1 回答
286 浏览

qt - QGraphicsView Scale & QGraphicsRectItem 绘画未能调用

我的工作环境:Qt 5.8 MSVC2015 64bit, QT GraphicsView, QGraphicsRectItem, Windows 7 64 bit。

问题:当我放大和缩小 GraphicsView 时,我调用 GraphicsView 缩放方法。但是当我将 QGraphicsRectItem 添加到场景时,它未能调用其绘制方法。

我的班级层次结构:

代码 :

//////*****在QGraphicsRectItem中绘制矩形*****///////////

这是git代码

我花了几天和几个小时,但仍然无法找出为什么 QGraphicsRectItem 在调用 scale 方法时无法打印。任何建议都受到高度赞赏?

0 投票
1 回答
1163 浏览

c++ - 强制系统 QT 库使用应用程序附带的 openssl 库

我的应用程序 = libssl.so ( 1.0.2f) + libcrypto.so ( 1.0.2f) +my_app_exe

在 Debian 9 上,QT 版本是5.7,openssl 是1.0.2l

my_app_exe返回1.0.2lfor QSslSocket::sslLibraryVersionString(),表示其使用系统 openssl 版本。

我可以强制 QT 库以某种方式使用与我的应用程序一起提供的 openssl 吗?

我尝试使用 设置库路径QCoreApplication::addLibraryPath(const QString &path),但 QT 库仍然选择系统 openssl 版本。

约束:

  • 无法重新编译系统上存在的 QT 库
  • 无法与应用程序一起发布 QT 库
  • 无法更改系统 QT 库上的 RPATH

my_app_exe已经使用RPATHwhich 指向随附的 openssl 所在的当前目录。

0 投票
2 回答
422 浏览

qt - 如何在 qml 中实现弯曲的滚动视图?

如何在带有标签或的 QML 中获得如下所示的弯曲滚动条/滚动视图的外观TextArea

弯曲滚动视图

基本上这个应用程序不是触摸应用程序。环境,Linux 中的 Qt 5.7.0。

0 投票
1 回答
290 浏览

c++ - 如果 find_package() 和 qt5_use_modules() 从函数中调用,为什么 AUTOMOC 会失败?

我正在尝试编译一些 Qt 项目,包括 QCustomPlot 库。作为一个最小的例子,我建立了一个项目,包括:

原始项目更大,但仅使用这些文件就可以重现问题。

包含此CMakeLists.txt代码:

如果所有标记的行(1)或标记的所有行都(3)被注释掉,这意味着调用find_package()qt5_use_modules()在文件范围内,我得到一个包含两个 qcustomplot 文件和一个附加Plots_automoc.cpp. 附加文件是自动生成的,包含必要#include "moc_qcustomplot.cpp"的文件,项目可以正确编译和链接。

但是,一旦我将所有与 qt 相关的命令移动到函数中,该automoc.cpp文件就不再生成并且不再是项目的一部分,这会导致unresolved external symbol链接过程中出现很多问题。

仅调用单个find_package()on files 范围(如 line (2))可以解决问题并再次生成 automoc 文件。

为什么简单地将调用移动到函数中会改变这样的 automoc 行为,我如何才能实现仍将它们移动到函数中?

一点背景:我的项目中已经有很多目标,预计数量会迅速增长,并希望避免代码冗余。没有真正受过 CMake 培训的人也应该使用它。这就是为什么我试图将所有与 Qt 相关的命令移动到函数中并提供这样的命令:

除了 Qt,我已经实现了这一点......

我也尝试过使用

它会导致相同的结果,只要不是至少一个find_package()调用直接在文件范围内,就不会生成 automoc。

我正在使用 CMake 3.6.2、Qt 5.7、Visual Studio 2015 和 Win 10。

其他示例 oLen 通过他的回答解决了我的大部分潜在困惑,但仍然存在一种情况:

使用带有 标记(4)的行将目标的所有生成放入一个函数中,可以使 CMake 正常运行,即已qt5_use_modules()定义,能够找到所有模块并链接它们(例如正确设置包含目录)。在函数之外,我不依赖任何 Qt 函数设置的变量。但 automoc 仍然不会生成所需的 .cpp 文件。注释掉标记的行会再次运行 automoc。

0 投票
1 回答
953 浏览

qt - QtWebEngine进程错误

QWebEngineView我的.Ui 文件中包含一个实例。程序编译没有问题。但是,当我启动程序(通过 Visual Studio 调试模式)时,会弹出以下错误。

找不到QtWebEngineProcessd.exe

注意:在不同的 Windows 电脑中 - 此程序运行没有任何问题。有人可以指出我正确的方向吗?

在此处输入图像描述

0 投票
1 回答
629 浏览

arm - QT5.7 交叉编译 AM1808 ARM9

目前,我们正在为我们在 AM1808 处理器上运行的硬件开发 QT。

目前,我们使用 QT creator 和编译器版本 Qt 4.8.7 开发我们的应用程序。

我们计划用 Qt 5.7 升级它,为此,我们从

http://download.qt.io/official_releases/qt/5.7/5.7.1/single/qt-everywhere-opensource-src-5.7.1.tar.gz

我们成功下载了这个,现在需要根据我们当前的arm工具链进行配置。

我们已按以下方式修改了 qmake.conf,

之后,我们运行配置命令 ./configure -opensource -confirm-license -prefix /usr/local/Qt5 -no-pch -xplatform linux-arm-gnueabi-g++

但是我们发现了以下错误,

系统架构:'arm' 主机架构:'i386' arm-none-linux-gnueabi-g++ -c -fvisibility=hidden fvisibility.c 符号可见性控制已启用。

cc1plus:错误:无法识别的命令行选项'-fuse-ld=gold' arm-none-linux-gnueabi-g++ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c bsymbolic_functions.c:2: 2:错误:#error“此架构上的符号函数绑定可能被破坏,禁用它(参见 QTBUG-36129)。”

符号函数绑定已禁用。检查 C++14...

arm-none-linux-gnueabi-g++ -c -pipe -O2 -std=gnu++1y -Wall -W -fPIC -I。-I../../../mkspecs/linux-arm-gnueabi-g++ -o c++14.o c++14.cpp

cc1plus:错误:无法识别的命令行选项 '-std=gnu++1y' make: *** [c++14.o] 错误 1

禁用 C++14。

检查默认 C++ 标准版... arm-none-linux-gnueabi-g++ -pipe -O2 -Wall -W -fPIC -I。-I../../../mkspecs/linux-arm-gnueabi-g++ -o c++default.ii -E c++default.cpp

默认启用 C++ 标准版。

检查 64 位 std::atomic... arm-none-linux-gnueabi-g++ -c -pipe -O2 -std=gnu++11 -Wall -W -fPIC -I。-I../../../mkspecs/linux-arm-gnueabi-g++ -o atomic64.o atomic64.cpp

cc1plus:错误:无法识别的命令行选项'-std=gnu++11'

制作:*** [atomic64.o] 错误 1

64 位 std::atomic 已禁用。

检查 -latomic 中的 64 位 std::atomic... arm-none-linux-gnueabi-g++ -c -pipe -O2 -std=gnu++11 -Wall -W -fPIC -I。-I../../../mkspecs/linux-arm-gnueabi-g++ -o atomic64.o atomic64.cpp

cc1plus:错误:无法识别的命令行选项'-std=gnu++11'

制作:*** [atomic64.o] 错误 1

-latomic 中的 64 位 std::atomic 已禁用。

检查 std::atomic 的函数指针... arm-none-linux-gnueabi-g++ -c -pipe -O2 -std=gnu++11 -Wall -W -fPIC -I。-I../../../mkspecs/linux-arm-gnueabi-g++ -o atomicfptr.o atomicfptr.cpp cc1plus:错误:无法识别的命令行选项'-std=gnu++11'

make: *** [atomicfptr.o] 错误 1

std::atomic 禁用函数指针。

错误:检测到函数指针失败的 std::atomic 实现。

请应用与您的标准库供应商对应的补丁,该补丁位于 /opt/qt-everywhere-opensource-src-5.7.1/qtbase/config.tests/common/atomicfptr

所以,请建议我们正确的方法来编译这个 qt5 版本。

0 投票
0 回答
787 浏览

c++ - windows Qt 5.7 minwg 5.3 mariadb 10.2 QSqlDatabase:未加载 QMYSQL 驱动程序

我在网上搜索了 10 个小时。有很多解决方案,但没有一个有效。我想知道从哪里开始。我只需要一个线索。我应该构建我的驱动程序还是有一种方法我不需要这样做。我应该使用mysql 连接器中的libmariadblibmysqldb哪些文件???

请帮忙 ;)

...

...

...