Articles of qt

无法在Windows上正确configurationOpenSSL

我想使用KDSoap,它使用Qt,它使用OpenSSL,消费一个Web服务,这需要一个安全的连接,通过使用存储在一个USB HSM(智能卡+读者基本上称为雅典娜IDProtect密钥v2.0 )。 我已经从Shining Light Productions安装了64位的OpenSSL。 Qt 5.8可以加载它(我用QSslSocket检查QSslSocket )。 问题 问题是,即使看起来 Qt的networking后端应该加载OpenSSLconfiguration文件,它不会。 事实上,我认为OpenSSL应该归咎于这里,而不是Qt,因为我使用提供的openssl工具进行了testing。 首先,configuration被读取,因为configuration中的任何语法错误使openssl工具下次运行时抱怨它。 其次,以一个干净的configuration,这工作: C:\Users\brokenthorn>openssl engine dynamic -t -pre SO_PATH:C:\OpenSSL-Win64\bin\capi.dll -pre LOAD -post list_certs (dynamic) Dynamic engine loading support [Success]: SO_PATH:C:\OpenSSL-Win64\bin\capi.dll [Success]: LOAD Loaded: (capi) CryptoAPI ENGINE [ available ] Certificate 0 <No Friendly Name> Subject: C = RO, L = Mun. Constanta, O […]

setWindowFlags(Qt :: WindowStaysOnTopHint)隐藏了Qt窗口

我想让我的Qt窗口保持在最前面。 当执行setWindowFlags(Qt::WindowStaysOnTopHint) ,窗口变为隐藏(在Windows 7上)。 我也试过: Qt::WindowFlags flags = windowFlags(); setWindowFlags(flags | Qt::WindowStaysOnTopHint); 而且,它仍然是一样的。 我在这里做错了什么?

在没有硬件加速的情况下在Windows上部署Qt5

Qt5可以通过使用ANGLE来使用OpenGL驱动程序或DirectX驱动程序。 由于我们不能依赖已安装的OpenGL驱动程序,因此我们需要使用ANGLE后端。 不幸的是,这并不能解决所有的部署问题,特别是在没有硬件加速的Windows虚拟机上。 在这些系统上,我们收到一条错误消息,说OpenGL上下文创build失败。 屏幕截图:无法为格式QSurfaceFormat创buildOpenGL上下文 我们正在部署所有必需的库(libEGL.dll libGLESv2.dll libeay32.dll msvcp110.dll msvcr110.dll d3dcompiler_46.dll),但我们仍然收到此错误消息。 你如何部署一个QML应用程序,需要在没有OpenGL驱动的最终用户计算机上运行,​​以及在没有Direct3D加速的虚拟机上运行? 在Qt wiki上有一个提到这个问题的页面,但是这对解决这个问题并没有什么帮助。 Qt 5.4.0更新: 我迄今为止的发现是: 设置QT_ANGLE_PLATFORM = warp – >创build一个没有内容的窗口。 按预期设置QT_ANGLE_PLATFORM = d3d9 – >同样的错误对话框。 按预期设置QT_ANGLE_PLATFORM = d3d11 – >同样的错误对话框。 设置QT_OPENGL = desktop =>与QT_ANGLE_PLATFORM = warp相同。 如预期的那样设置QT_OPENGL = angle – >相同的错误对话框。 设置QT_OPENGL = software + opengl32sw.dll(mesa for windows) – >不可预知:可能运行,可能会崩溃,可能会显示错误对话框。 Qt Quick 2D渲染器的更新 […]

尝试在Windows上运行Qt应用程序的发行版本时出错

我正在尝试构build我的应用程序的Windows版本。 该程序编译和运行良好的Qt造物主,但是当我试图独立运行它会引发以下错误: The procedure entry point _Z17qt_message_output9QtMsgTypePKc could not be located in the dynamic link library QtCore4.dll 我的应用程序文件夹中有所有必需的dll,它们与我从Qt网站下载的二进制文件一样。 这个错误令我疯狂,因为我似乎找不到任何理由。 该应用程序在Linux和MAC OS X上运行良好。

附加的孩子QProcess outlving父母

我有一个Qt应用程序(Qt 5.5),从Windows上的USB驱动器启动。 在主要我使用QProcess ::开始(不QProcess :: startDetached)开始一个新的进程。 当杀害父母孩子继续并且运作正常。 父进程不再列在我的taskManager中,所以它似乎真的死了。 有谁知道为什么会发生这种情况?

把窗口放到前面 – > raise(),show(),activateWindow()不起作用

在我的Qt应用程序中,我在默认浏览器中打开一个URL。 之后我想把应用程序的主窗口再次带到前面。 我尝试了所有可以find的方法,但都没有成功。 它所做的只是在窗口7的任务栏中闪烁。下面是一个例子: this->viewer->show(); this->viewer->raise(); this->viewer->activateWindow(); * viewer是一个指向从QDeclarativeView派生的QmlApplicationViewer的指针

QT5字体在各种平台上渲染不同

我想做一些自定义小部件渲染的可重复testing。 为了做到这一点,我把它们绘制到一个QImage上,并将结果保存为PNG。 与MacOSX相比,Windows的输出真的不同。 我照顾了: 在所有平台上select相同的字体(我提供“TTF”字体文件并将代码指向它) 绘制到一个QImage,而不是一个QPixmap,如文档说,QImage的画家应该是平台独立 我还select了Antialisating和TextAlliiasing提示 通过QFontDatabase :: font()请求字体,以便指定pointSize而不是pixelSize 我如何确保所有平台上的渲染都完全相同,以便我的testing运行可以重现? 换句话说,是否有可能迫使QT5在所有平台上使用相同的字体引擎(例如freetype)? ** 我把这个问题归结为一个简单的渲染testing程序。 所以代码如下所示: QFontDatabase fontDb; fontDb.addApplicationFont("…/fonts/Vera.ttf"); QImage result(width, height, QImage::Format_RGB32); QPainter painter(&result); painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::TextAntialiasing); QBrush background(QColor(205, 205, 205)); painter.fillRect(0, 0, 800, 600, background); QFont font = fontDb.font("Bitstream Vera Sans", "Normal", 10); painter.setFont(font); painter.setPen(QColor(0, 0, 0)); painter.drawText(10, 10, "ABCD abcd 01234567"); 例如Bitstream Vera字体可以在fontsquirel.com上下载。 在MacOSX(左)和Win32(右)上查看结果非常不同: […]

如何在没有安装Qt的情况下运行Qt程序?

我已经用Qt5.3.1编写了一个程序,并在我的开发机器上运行,它工作正常。 我将所有必需的.dll文件复制到我的.exe所在的文件夹中。 这些是: Qt5Widgets.dll Qt5Network.dll Qt5Gui.dll Qt5Core.dll icudt51.dll icuin51.dll icuuc51.dll libgcc_s_dw2-1.dll libwinpthread-1.DLL 的libstdc ++ – 6.dll 现在我想在没有安装Qt的机器上运行该程序。 我怎么做? 用户不需要为了使用程序而安装IDE,对吧? 开发机器的细节在哪里工作: Windows 8 Qt 5.3.1 部署平台是: Windows Vista 没有安装Qt,但所有必需的.dll都已安装 我得到的错误是第一: 此应用程序无法启动,因为它无法find或加载Qt平台插件“窗口”。 重新安装应用程序可能会解决此问题。 下一个错误信息是: 此应用程序请求运行时以不寻常的方式终止。 请联系支持。 然后程序崩溃。 但是,如果我安装Qt5.3.1它的作品。 所以它与c:/Qt目录中的文件有关

如何检测Windows关机或在Qt注销

我正在将一个Linux应用程序移植到用Qt编写的Windows中。 应用程序需要在closures之前保存一些设置。 在Linux上,我们可以通过SIGTERM的信号处理程序来做到这一点。我如何在Windows上实现相同的function。

Qt5 QSlider调色板在windows下无效

我用 slider->setPalette(QPalette(mycolor, mycolor)); 为滑块着色(Qt5)。 在Linux下,这个效果很好,但在Windows 7下,滑块看起来完全正常,没有任何颜色变化。 有什么办法可以在windows下获取彩色滑块吗?