Skip to content Skip to footer

常见问题解答

您也可以在已知问题和如何做部分,或一个特定区域的故障排除部分,如调试中找到您的问题答案。

一般问题

Qt Creator 附带 MinGW,我应该使用这个版本的 Qt 吗?

使用与 Qt 版本一起构建的版本。

Qt Creator 找不到辅助应用程序,例如 Git 或编译器。我应该怎么做?

确保在启动 Qt Creator 时应用程序位于系统 PATH 中。还要选择首选项来检查为应用程序指定的设置。许多插件指定了所需的工具的路径或它们运行的环境。

这对于 macOS 特别相关,其中当 Qt Creator 启动时,/usr/local/bin可能不在路径中。

报告的问题已经解决了吗?

您可以在Qt 项目错误跟踪器中查找任何问题。

Qt Widgets Designer 集成问题

为什么即使在独立的 Qt Widgets Designer 中也能正常工作,自定义小部件即使在设计模式下也无法加载?

Qt Widgets Designer 从标准位置获取插件并加载与它的构建密钥匹配的插件。独立和集成 Qt Widgets Designer 的位置是不同的。

有关更多信息,请参阅添加 Qt Widgets Designer 插件。

QML 和 Qt Quick 问题

为什么即使我有模块,我的 QML 导入下面也有红色虚线?

默认情况下,Qt Creator 在 Qt 的 QML 导入路径中查找 QML 模块。有时它可能找错地方,您需要告诉它模块在哪里。当使用 qmake 作为构建系统时,在应用程序的.pro文件中指定QML_IMPORT_PATH。当使用 CMake 时,将 set 命令添加到 CMakeLists.txt 文件中。

这也启用了 QML 代码的代码补全并消除了错误消息。

以下示例说明如何指定qmake项目的导入路径,以便在不同的目标平台之间切换构建和运行工具包时工作

TEMPNAME = $${QMAKE_QMAKE}

MY_QTPATH = $$dirname(TEMPNAME)

QML_IMPORT_PATH += $$MY_QTPATH/../qml

message("my QML Import Path: "$$QML_IMPORT_PATH)

有关如何设置CMake项目的导入路径的更多信息,请参阅导入QML模块。

当Qt Creator抱怨缺少OpenGL支持时,我应该怎么办?

Qt Creator的一些部分,例如QML性能分析器,使用Qt Quick 2,它依赖于OpenGL API进行绘制。遗憾的是,OpenGL的使用可能会引起问题,尤其是在远程设置和过时的驱动程序中。在这种情况下,Qt Creator将在控制台上显示与OpenGL相关的错误消息,或在Windows调试器日志中记录它们。

修复和解决方案因设置而异。作为最后的手段,您可以考虑禁用受影响的插件。

虚拟机

尝试在虚拟机的设置中启用3D加速。对于VirtualBox,请确保您已安装了包括实验性的Direct3D支持在内的Guest Addons。

Windows

默认情况下,Qt Quick使用Direct3D 11。如果您有问题,请尝试更新您的图形驱动程序或更新DirectX版本。运行dxdiag.exe以检查是否已启用Direct3D加速。

您还可以尝试将环境变量QSG_RHI_BACKEND设置为vulkan或opengl。有关详细信息,请参阅Qt for Windows - Graphics Acceleration。

Unix

运行glxgears进行快速检查OpenGL是否工作。查看glxinfo的输出以获取更多详细信息,如OpenGL驱动程序和渲染器(在应用程序输出中搜索OpenGL)。

如果您使用的是Mesa驱动程序,您可以通过设置环境变量LIBGL_ALWAYS_SOFTWARE强制OpenGL在软件中进行渲染。

禁用插件

您可以通过禁用Qt Creator插件,牺牲功能为代价

通过命令行以-noload QmlProfiler -noload QmlDesigner参数启动Qt Creator。

通过选择帮助 > 关于插件永久禁用插件。

帮助问题

Qt API参考文档缺失,上下文帮助未找到相关主题。我能做什么吗?

使用Qt Online Installer安装Qt版本和Qt文档。

要查看已安装的文档(.qch文件)和添加文档,请转到首选项 > 帮助 > 文档。有关更多信息,请参阅添加外部文档。

调试器问题

有关调试器的故障排除信息,请参阅故障排除调试器。

如果我有GDB版本的选择,我应该使用哪个版本?

在Linux和Windows上,使用安装Qt Creator和Qt时安装的Python启用GDB版本。在macOS上,GDB不再官方支持。要构建自己的Python启用GDB,请遵循构建GDB中的说明。

您必须使用Python版本2.6或2.7。

有关更多信息,请参阅支持的调试器。

如何在Qt Creator中生成核心文件?

要触发调试时生成核心文件的 GDB 命令,请转到视图 > 视图 > 调试器日志。在命令字段中,输入gcore并按下Enter。核心文件将在当前工作目录中创建。您可以将文件指定为另一个位置,包括相对路径或绝对路径,作为命令的参数。

编译器问题

我如何使用 Qt Creator 利用多核 CPU?

在 Linux 和 macOS 上,转到项目模式,在构建设置中选择您的配置,找到构建步骤,并添加以下值,其中 是 CPU 的核心数:-j

在 Windows 上,nmake 不支持 -j 参数。您可以使用 jom。您可以从前Qt 下载中下载 jom 的预编译版本。将 jom.exe 放入 %PATH% 的位置。转到 构建设置并将 jom.exe 设置为制作命令。

注意:与 GNU make 不同,jom 会自动检测您的核心并为您 CPU 的核心数启动等多的并行进程。您可以使用上面所述的 -j 参数来覆盖此行为。

Qt 安装问题

我无法使用从二进制包安装的 Qt 中的 QSslSocket。我该怎么做?

二进制包中的 Qt 使用 QT_NO_OPENSSL 定义构建。可以重新构建它。有关更多信息,请参阅http://www.qtcentre.org/threads/19222-Qssl。

在 Ubuntu 或 Debian 中,需要哪些发行版的开发包?

sudo apt-get install libglib2.0-dev libsm-dev libxrender-dev libfontconfig1-dev libxext-dev

如果您使用 QtOpenGL,则还需要

sudo apt-get install libgl-dev libglu-dev

平台相关问题

在 Qt Creator 中在哪里显示应用程序输出?

在 Unix (Linux 和 macOS) 中:qDebug() 以及相关的函数使用标准输出和错误输出。当您运行或调试应用程序时,您可以在 应用程序输出 中查看输出。

对于需要输入的命令行应用程序,选择项目 > 运行设置 > 在终端运行。要指定要使用的终端,选择 首选项 > 环境 > 系统。要使用 内部终端,选择 首选项 > 终端 > 使用内部终端。

在 Windows 中:对于控制台应用程序和图形用户界面应用程序,输出显示方式不同。

对于 qmake 项目,.pro 文件中的 CONFIG += console 设置指定了应用程序将使用其他运行时编译为控制台应用程序。

这是 CMake 项目的标准行为。要在 Windows 上创建图形用户界面应用程序或在 macOS 上创建应用程序包,您必须在 CMakeLists.txt 文件中的 qt_add_executable 命令中指定 WIN32 或 MACOSX_BUNDLE 属性。

运行控制台应用程序时,您可以在调用应用程序的控制台窗口中查看输出。如果调用应用程序是一个图形用户界面应用程序(例如,Qt Creator 的发布版),则会打开一个新的控制台窗口。对于此类应用程序,qDebug() 及相关函数使用标准输出和错误输出。

我们建议您对控制台应用程序选择 项目 > 运行设置 > 在终端运行。

对于GUI应用程序,qDebug() 和相关函数使用Windows API函数 OutputDebugString()。输出显示在 应用程序输出 中。然而,Qt Creator只能同时显示一个来源的输出。您可以使用外部调试输出查看器,例如Windows的DebugView 来显示GUI应用程序的输出。

关于新特性的问题

请求的特性将会实现吗?

如果是计划中的特性,您可以在任务跟踪器中看到它。如果特性已经被实现,它将在即将发布的版本的 变更文件 中被提及。

为什么Qt Creator不使用标签页(tab)为编辑器?

这个问题时不时会出现,所以我们仔细考虑了。以下是我们不使用标签页的主要原因:

标签页无法适应更多的编辑器打开情况。当有5到6个编辑器打开时,标签页还可用,但当有10个编辑器时,标签页变得不便,如果需要比标签栏更多的水平空间,界面则无法正常工作。

标签页不能适应您的工作集。

常见的解决方案是允许用户重新排列标签页。现在用户必须管理标签页,而不是编写代码。

标签页强制您限制打开的编辑器数量,否则您会感到混乱。

考虑以下用例:开发者想要切换编辑器。

事实上,开发者并不想切换编辑器,但他们可能必须这样做以完成任务。我们需要确定任务是什么,以提供开发者更好的导航方式。

在许多用例中,一个共同的因素是在打开的一组文件中切换编辑器。当在文件A和B上工作时,有时需要查看文件C。用户可以按 Ctrl+Tab 在文件间切换,并确保根据文件类型在正确的编辑器中打开文件。列表按最后使用排序。

通常,用户也会对相关的多个类或函数进行操作,即使它们定义或声明在不同的文件中。Qt Creator为此提供了两个快捷键:F2 来跟踪光标下的符号,以及 Ctrl+Shift+U 来查找引用。

此外,开发者可以

按 F4 在头文件和源文件间切换。

按 Alt+Left 在导航历史中向后移动。

使用位置导航(Ctrl+K)来简单地告诉Qt Creator去哪里。

位置导航器可以用来打开文件,但打开文件只是完成任务的一种步骤。例如,考虑以下用例:在SomeClass中修复AFunction,它来自someclass.cpp/someclass.h。

在使用标签页的用户界面中,开发者会在标签栏中搜索someclass.cpp,然后再搜索 ::AFunction,最后发现该函数不在该文件中。然后他们会再次在标签栏中搜索someclass.h,发现该函数是内联的,修复问题,然后忘记他们从哪里来。

在使用Qt Creator的情况下,开发者可以输入 Ctrl+K m AFun 来查找该函数。通常,他们只需要输入函数名的3到4个字符。然后可以修复问题并按 Alt+Back 返回他们原来的位置。

其他位置导航器过滤条件包括 c 用于类,: 用于所有符号,以及(归功于社区贡献). 用于当前文件中的符号。

Copyright © 2088 世界杯德国巴西_世界杯为什么四年一次 - lynzzx.com All Rights Reserved.
友情链接