Articles of qt

在没有硬件加速的情况下在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下获取彩色滑块吗?

Qt自动testing

http://www.automatedqa.com/products/testcomplete/testing–qt-apps/ 他们如何能够做到这一点? 是否有Qt检查库? 标准窗口间谍工具在某些区域工作,但其他重要区域(如列表视图中的列表项)不能通过Windows消息进行检查。 我知道有QtTest框架,但是我想要的是可以访问整个应用程序的东西,这样我就可以进行自动集成testing。

windeployqt错过了一些库,并获取其他不需要的

通常要部署一个Qt项目我要么: 继续运行它,并find它抱怨的库缺失,并添加它们,直到没有更多。 使用依赖的步行者,让我最大的方式(如果不是全部),然后回到选项1。 或者只是创build一个静态链接的版本(有时在屁股疼痛) 所以我现在想试试windeployqt,对于我在D:\install\Qt\5.5\mingw492_32\bin\ 然后我运行它使用: D:\>D:\install\Qt\5.5\mingw492_32\bin\windeployqt.exe d:\software\build-qtGuiTestApp-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug 这里是结果输出: D:\software\build-qtGuiTestApp-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug\qtGuiTes tApp.exe 32 bit, debug executable Adding Qt5Svg for qsvgicond.dll Skipping plugin qmldbg_qtquick2d.dll due to disabled dependencies. Skipping plugin qmldbg_tcpd.dll due to disabled dependencies. Direct dependencies: Qt5Core Qt5Network Qt5WebKitWidgets Qt5Widgets All dependencies : Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaWidgets Qt5Networ k Qt5OpenGL Qt5Positioning Qt5PrintSupport Qt5Qml Qt5Quick Qt5Sensors Qt5Sql […]