Articles of qt

无法在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答案。

如何样式QPushButton的选中状态,以消除灰点?

我正在使用Qt 5.3.0。 当我在QPushButton的选中状态上应用一些背景颜色时,button将被填充灰色点(在我想要的背景颜色上)。 这里是一个小小的testing程序(使用qtcreator,但也可以通过编码来完成):1,创build一个qt应用程序2,拖动一个QPushButton,将其设置为平坦并可检查3,在w.show()之前添加这些行 w.setStyleSheet("\ QPushButton { \ color:white; \ } \ QPushButton:checked{\ background-color: rgb(80, 80, 80);\ }\ QPushButton:hover{ \ background-color: grey; \ border-style: outset; \ } \ "); 4,运行应用程序并检查button 你会看到button变成虚线,但我需要选中的button,作为rgb(80,80,80)的纯色。 我错过了什么?

如何创build一个HWND作为父母的QWidget?

用wxWidgets我使用下面的代码: HWND main_window = … … wxWindow *w = new wxWindow(); wxWindow *window = w->CreateWindowFromHWND(0, (WXHWND) main_window); 我如何在Qt中做同样的事情? HWND是我想要作为新QtWidget的父窗口的窗口句柄。