Articles of qt

Qt错误:未find过程条目

我正在Qt 5.6.1中做一个项目。 当我在Qt Creator中运行它时,它运行完美。 但是当我在文件夹中运行它时,它显示: 程序入口点?0QVariant @@ QAE @ ABVQString @@@ Z不能位于DLL Qt5Core.dll中。 我该如何解决?

如何检测自动隐藏的任务栏是否可见?

此刻我需要检测在C + + / Qt如果一个任务栏,设置为“自动隐藏”是否在屏幕上可见或不。 我已经尝试过下面的解决scheme,但不幸没有成功: 使用uState =(UINT)SHAppBarMessage(ABM_GETSTATE,pabd)检查自动隐藏状态,仅返回是否设置了自动隐藏属性 使用SystemParametersInfo获取工作区(SPI_GETWORKAREA,0,&rectWorkArea,0); 不幸的是,工作区始终是整个屏幕的大小,当任务栏被设置为“自动退出”时,即使它实际上在屏幕上可见 使用SHAppBarMessage获取AppBarData(ABM_GETTASKBARPOS,&abd); 有了这个函数,我可以得到任务栏的大小和坐标,但是总是返回它们,就好像任务栏是可见的,即使它是隐藏的。 所以用这些方法,我不能告诉,是否在任何时候任务栏“自动隐藏”是在给定的时刻在屏幕上可见或不 – : 我将不胜感激任何帮助 :-)

在Qt中干净地closures一个QSerialPort

我试图closures使用QSerialPort库打开的串行端口,但它挂了一半以上的时间。 我正在开发一个multithreading的应用程序,一个线程负责UI和另一个串行通信。 我正在使用QThread包装类。 void CommThread::run() { serial = new QSerialPort(); serial->setPortName(portname); serial->setBaudRate(QSerialPort::Baud115200); if(!serial->open(QIODevice::ReadWrite)){ qDebug() << "Error opening Serial port within thread"; quit = true; return; }else{ /// \todo handle this exception more gracefully } /// Start our reading loop /// While CommThread::disconnect is not called, this loop will run while(!quit){ comm_mutex->lock(); /// If CommThread::disconnect() is […]

在QTCreator中用MinGW编译c ++和cuda代码

我试图编译简单的CUDA程序(我从编译在Qt Creator在Windows上的CUDA代码的源代码)这是我的.PRO文件: TARGET = Cuda # Define output directories DESTDIR = release OBJECTS_DIR = release/obj CUDA_OBJECTS_DIR = release/cuda # Sourcefiles SOURCES += main.cpp # This makes the .cu files appear in your project OTHER_FILES += vectorAddition.cu # CUDA settings <– may change depending on your system CUDA_SOURCES += vectorAddition.cu CUDA_SDK = "C:/Cuda/CudaSamples" # Path to […]

删除msvc DLL依赖运行qt应用程序

如何删除msvc dlls(例如:msvcr100.dll)依赖运行qt appliation? 我已经开发了一个qt应用程序在dveloper机器上运行得很好,但无法在任何其他机器上运行给出错误消息“程序无法启动,因为您的计算机缺lessMSVCR100.dll”。 我可以通过复制应用程序文件夹中的文件来解决这个错误,但我不想复制,而是我想静态链接或其他方式来删除该依赖项。 提前致谢

在高分辨率Windows平台上自动重新调整应用程序的大小?

我正在写一个需要在高分辨率Windows(192dpi而不是96dpi)上运行的Qt应用程序。 不幸的是,Qt框架还没有支持高DPI(至less在Windows上),所以我的应用程序和它的所有元素看起来应该是它的一半。 有什么办法强制/模拟Windows自动升级这些应用程序?

在Linux上使用Qt创build可执行文件

是否有可能在Linux上为Linux和Windows使用相同的Qt代码在Eclipse上创build一个可执行文件? 还是有必要在我的Linux机器上安装Qt Creator?

Qt(在Windows上)将权限级别设置为“requireAdministrator”

我正在使用Qt Creator,努力使.exe文件以pipe理员身份运行。 通过在线阅读所有的解决scheme,我试图把这一行放在我的.pro文件中: QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator' uiAccess='false'" 但仍然当我检查我的.exe (使用记事本)它包含: <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel> 有人可以告诉我,如何添加requireAdministrator ? 临时解决scheme:直到现在我找不到一个解决scheme,所以我做了一个临时的黑客攻击。 我做了一个名为“LaunchAnother.exe”的.exe文件,它将使用以下代码启动我的“main.exe”: SHELLEXECUTEINFO shExInfo = {0}; shExInfo.cbSize = sizeof(shExInfo); shExInfo.fMask = SEE_MASK_NOCLOSEPROCESS; shExInfo.hwnd = 0; shExInfo.lpVerb = _T("runas"); // Operation to perform shExInfo.lpFile = _T("main.exe"); // Application to start shExInfo.lpParameters = ""; // Additional parameters shExInfo.lpDirectory = 0; shExInfo.nShow = SW_SHOW; […]

Qt5应用程序部署qwindows.dllsearchpath顺序

我正在将我们的应用程序与所需的DLL部署在同一个文件夹中。 加上平台文件夹中的qwindows.dll。 这真的很好,也没有任何Qt安装机器。 直到昨天,当我更新我的Qt到5.5.1。 现在所有使用Qt 5.5.0构build的应用程序停止工作,并显示出众的错误:“无法find或加载Qt平台插件的窗口”。 当我将我的Qt文件夹(C:\ Qt)重命名为其他内容时,所有事情都可以再次运行。 进一步调查与依赖沃克表明,应用程序的确看着我的C:\ Qt文件夹来find平台的DLL。 但他们发现一个更新/不同的版本,并抛出错误。 GetProcAddress(0xxxx [ADVAPI32.DLL], "SystemFunction036") called from "MSVCR120.DLL" at address 0xxxx and returned 0x00007FFB269C1050. LoadLibraryW("C:\Qt\5.5\msvc2013_64\plugins\platforms\qwindows.dll") called from "QT5CORE.DLL" at address 0xxxx. Loaded "QWINDOWS.DLL" at address 0xxxx. Successfully hooked module. Loaded "WINMM.DLL" at address 0xxxx. Successfully hooked module. Loaded "OLEAUT32.DLL" at address 0xxxx. Successfully hooked module. Loaded […]

#include <windows.h>会导致很多语法错误

我的程序使用Qt和OpenGL。 它在Linux和Mac下正确编译。 在Windows上编译时,我需要#include windows.h才能使用OpenGL,代码如下, #if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64) #include <windows.h> #endif #ifdef __APPLE__ #include <OpenGL/glu.h> #include <GLUT/glut.h> #else #include <GL/glu.h> #include <GL/glut.h> #endif 但是,有很多错误消息 C:\Program Files (x86)\Windows Kits\8.1\include\shared\rpcdcep.h(167) : error C2146: syntax error : missing ')' before identifier 'PRPC_MESSAGE' C:\Program Files (x86)\Windows Kits\8.1\include\shared\rpcdcep.h(167) : error C2165: 'left-side modifier' : cannot modify […]