草庐IT

c++ - 为什么 Qt .pro 文件会为平台提供错误,即使未选择或提及它也是如此?

在我的Qt.pro文件中,以下给出了Windows操作系统的编译错误:!win32{QMAKE_CXXFLAGS+=-Wno-unused-parameter-Wno-missing-field-initializers-Wimplicit-fallthrough=0}根据qmaketutorial,Windows平台应该绕过上面的block。然而,即使它不适用,它也会给出错误,因为它正在对Windows进行健全性检查。这样的例子还有很多。如何修复此类错误? 最佳答案 在这种情况下,问题是由于QtQMake语法引起的。从这个链接QM

linux - C++11线程库是否调用OS API来运行多线程程序?

众所周知,我们可以使用C++库编写通用的跨平台多线程代码(无论Linux还是Windows),我想知道为什么c++11使它变得简单,它实际上是调用OSAPI,还是使用一些其他技术? 最佳答案 C++只是一种您用来表达想法的语言。最后,您的二进制文件仍然必须使用操作系统的功能来执行任何需要系统级访问的操作,例如操纵系统调度程序(例如:创建线程)。您的编译器和库使用哪些操作系统功能来支持C++语言功能的详细信息可以在它们的文档中找到。我想大多数Linuxenvs在C++线程的引擎盖下使用pthread,而Windows环境使用win32

c++ - Qt 写入 xml:QIODevice::write (QFile, "D:/logs.xml"): device not open

我正在尝试将数据保存到Qt中的XML文件中。到处都被告知我需要写这样的检查:if(!file.open(QIODevice::WriteOnly|QIODevice::Text)){qDebug()我总是得到“无法打开”的结果。我就是找不到任何相关信息。如果我不使用这个检查,我会得到这样的错误:QIODevice::write(QFile,"D:/logs.xml"):devicenotopen。我只是不知道该怎么办。这是我在教程中尝试使用的完整代码:QDomDocumentdocument;//MakingtherootelementQDomElementroot=document.

windows - Qt Creator 在Windows 10 上无法打开 "no Qt platform plugin could be initialized"

我从我的SurfacePro4中删除了Qt并重新安装它,因为它似乎无法找到QtQuick控件和其他qml相关模块。执行安装程序后,我尝试打开qtcreator并收到此消息ThisapplicationfailedtostartbecausenoQtplatformplugincouldbeinitialized.Reinstallingtheapplicationmayfixthisproblem.Availableplatformpluginsare:direct2d,minimal,offscreen,windows 最佳答案

c++ - 如何引用外部文件,即 Win/macOS Qt 项目中的图像?

我们可以加载图像到QPixmap做QPixmap("image.png");然后我们将image.png放在根项目文件夹中,它可以在Windows上运行。我的意思是,可执行文件会找到图像。我们也可以在macOS上轻松编译Qt项目。但是macOS可执行文件是不同的,它是一种文件夹,实际的可执行文件在下面,实际上在相对于图像的不同路径中。因此在运行时不会找到图像。处理该问题的一种方法是#ifdefQ_OS_MACX//CodethatwillonlybecompiledunderMACOSX#endif然后我们在代码库中到处重复这个,问题就会得到解决。有没有替代的单发解决方案?这样就没有必

windows - Qt:同一个小部件中的 QPainter + GDI?

我正在尝试使用methoddescribedhere在同一个小部件上使用QPainter和GDI调用。不幸的是,本教程似乎是在早期版本的Qt上编写的,现在它不起作用。我设置了WA_PaintOnScreen标志并重新实现paintEngine()以返回NULL。然后在paintEvent()上我创建了一个QPainter,使用它然后使用一些GDI调用来绘制位图。GDI调用工作正常,但QPainter什么也不做。我在控制台上收到以下错误:QPainter::begin:Paintdevicereturnedengine==0,type:1这是不再支持了吗?我该怎么做?我也曾尝试在GDI绘

c++ - 从 Qt C++ 中的另一个应用程序获取文本字段的值

我只是想知道有没有办法得到来自另一个文本字段的值申请?Windows操作系统例如,在窗口中,textbox2的值为1。那么我如何从另一个应用程序获取textbox2的值? 最佳答案 继续阅读IPC.您应该能够在该网页上找到适合您需要的解决方案。 关于c++-从QtC++中的另一个应用程序获取文本字段的值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6303568/

windows - 静态构建后 Qt 图标不会加载

在静态构建Qt(configure-static)并运行mingw32-makesub-src并在我的项目上运行qmake(build->runqmake)并重建它之后,该exe是完全独立的(而且很大),但图标将不再加载。这些图标在.qrc文件中,我通过这种方法加载它们:QIconicon(":/Icons/icon.ico");this->setWindowIcon(icon); 最佳答案 http://developer.qt.nokia.com/doc/qt-4.8/qtplugin.html#Q_IMPORT_PLUGINh

C++ Qt WriteProcessMemory

我正在尝试使用Qt和QtCreator来写入进程内存。当我按下按钮时,它不写。如果有人可以提供帮助,这是我正在使用的代码。#include"mainwindow.h"#include"ui_mainwindow.h"#includeHANDLEhProcess;intMYBASE;voidAttach(){DWORDpid;HWNDhWindow=FindWindow(NULL,L"GenericPropertyEditorThingy");GetWindowThreadProcessId(hWindow,&pid);hProcess=OpenProcess(PROCESS_ALL_A

windows - 与directx sdk相比,使用windows sdk学习direct3d11有什么区别?

是否可以通过windows8sdk或directxsdk使用direct3d11?作为一名学习者,不清楚这种选择有什么影响。directx11是用windowssdk学还是directxsdk学,有什么区别? 最佳答案 directxsdk(最后一次是2010年6月,三年前)已弃用。Windows8套件包含最新版本的直接xheader和库。基本API和文档大部分相同,但缺少最近的更改。D3DX已弃用,数学移至directxmath.h,着色器编译移至d3dcompiler.hPix不再适用于最新的Windows,因此您必须坚持使用v