Articles of qt

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 […]

无法在Qt Creator中检索debugging输出

在Windows上的Qt Creator中, qDebug()语句不起作用,并且在输出窗口中显示以下消息: 无法检索debugging输出。 如何解决?

如何在C ++ / QT中创buildWindows服务?

我想创build一个Windows服务,只logging屏幕并将logging的文件发送到服务器。 但每当我search谷歌的Windows服务创build,我总是得到.NET的结果。 我怎样才能做一个简单的服务,而不是.NET? 我会弄清楚其余的。 我更喜欢Qt或C ++,但我找不到任何东西。

QPushButton在子QMenu中,改变hover的背景

编辑: 注意只有当button在SUBMENU时才会发生。 (菜单中的菜单。)此代码仅在父菜单上正常工作! 在Windows 7上运行Qt 5.0.2。我有一个QMenu的QWidgetAction 。 QWidgetAction里面是一个QPushButton 。 当鼠标hover在它上面时,我想改变button的背景颜色。 这是我的代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> #include <QMenu> #include <QWidgetAction> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { QMenu menu; QMenu *subMenu = new QMenu("SubMenu text"); QWidgetAction *widgetAction = new QWidgetAction(subMenu); QPushButton *btn = new […]

Qt转换unicode实体

在QT 5.4和C ++中,我尝试解码具有unicode实体的string。 我有这个QString: QString string = "file\u00d6\u00c7\u015e\u0130\u011e\u00dc\u0130\u00e7\u00f6\u015fi\u011f\u00fc\u0131.txt"; 我想将此string转换为: fileÖÇŞİĞÜİçöşiğüı.txt 我试过QString的toUtf8和fromUtf8方法。 还试图逐字符解码。 有没有办法通过使用Qt转换它?

如何使用Qt-Creator部署我的应用程序?

我试图部署我的简单的Qt项目像一个世界你好。 我成功构build它,也可以在Qt-Creator上执行它。 但是,由于某些共享库错误,我无法直接在发布文件夹中执行二进制文件。 所以我只是复制一些必要的图书馆到释放文件夹,如qtcore.dll和qtgui.dll,但我不能仍然执行它。 我怎样才能部署我的简单的Qt项目? 是否有另一个步骤来部署它?

将Windows PRIVATEKEYBLOB转换为Qt的QSslKey

我正在使用SSLencryption的Qt应用程序(Windows服务)。 我需要从Windows证书存储中访问证书和关联的私钥,并使用setLocalCertificate和setPrivateKey分别接受QSslCertificate和QSslKey将其传递给我的QSslSocket。 我能够从商店获取证书,并使用Windows API(CertOpenStore,CertFindCertificateInStore)将其设置为QsslSocket。 现在,我有证书,我需要提取其私钥,并设置为ssl套接字。 我正在使用CryptAcquireCertificatePrivateKey,CryptGetUserKey和CryptExportKey Windows API以相同的顺序,这给了我一个Microsoft PRIVATEKEYBLOB,现在我需要将其转换为QSslKey理解的格式。 我怎么做?

C ++ – 如何隐藏其他应用程序的窗口

我正在尝试创build一个软件(Qt / C ++)。 其中我需要一个隐藏其他应用程序窗口基于其窗口标题的function。 隐藏手段隐形不能最小化。 任何人都可以说如何做到这一点? 我目前正在Windows平台上工作。 注意:如果你通过Qt提供了一个解决scheme,它会给你更多的安慰。 因为它提供了平台独立性。

OpenSSL和multithreading

我一直在阅读有关如果在multithreading应用程序中使用OpenSSL的要求,您必须使用OpenSSL注册一个线程标识函数(以及一个互斥体创build函数)。 在Linux上,根据OpenSSL提供的例子,一个线程通常是通过注册一个这样的函数来标识的: static unsigned long id_function(void){ return (unsigned long)pthread_self(); } pthread_self()返回一个pthread_t,这在Linux上可行,因为pthread_t只是一个unsigned long的typedef。 在Windows pthreads,FreeBSD和其他操作系统上,pthread_t是一个结构体,结构如下: struct { void * p; /* Pointer to actual object */ unsigned int x; /* Extra information – reuse count etc */ } 这不能简单地转换为无符号长整型,当我尝试这样做时,会抛出一个编译错误。 我尝试了void * p并将其转换为无符号长整型,理论上内存指针应该在线程间是一致且唯一的,但是这只会导致我的程序崩溃。 当使用Windows pthreads或FreeBSD或任何其他类似的操作系统时,我可以使用OpenSSL注册哪些线程识别function? 另外,还有一个问题: 有谁知道这是否也需要完成,如果OpenSSL编译进去,并与QT一起使用,如果是的话如何注册与OpenSSL的QThreads? 令人惊讶的是,我似乎无法在QT的文档中find答案。