草庐IT

Qt编程

全部标签

c++ - 是否可以使用 Qt 类枚举网络根?

Qt文件API类在Windows上正确处理网络文件夹路径。但是我找不到枚举网络根目录的方法(可用的网络驱动器和计算机列表)。有没有什么方法可以不使用WinAPI而只使用Qt类来做到这一点? 最佳答案 恐怕,你能得到的最好的是QStorageInfo来自QtSystems。allLogicalDrives:constQStringListThispropertyholdsthelistofalldrives.Returnsalistofalllogicaldrivesorvolumes,oranemptylistifnodrivesa

c++ - 检测移除打开的串口设备(Qt/Windows)

我有一个Qt应用程序,它通过串口与加密狗通信(它是一个FTDI芯片)。我轮询QSerialPortInfo::availablePorts()以检测何时添加或删除端口,然后向加密狗发送一个空行以识别它(我的加密狗用它的ID对此做出响应,我指望它对99%的其他设备无害)。一切正常,除了如果您在连接处于事件状态时移除加密狗,连接似乎没有关闭并且端口仍在QSerialPortInfo::中返回availablePorts().有谁知道在我连接到串行加密狗时如何检测它的移除(除了像ping之类的黑客攻击)。我试过监听QSerialPort发出的所有信号(error()、readChannelF

C 编程 - 套接字 ("Server"在聊天中显示 "Client"名称)

我还是C套接字编程的新手,多亏了这个网站,我学到了很多有用的东西,但我找不到如何让服务器在聊天中显示客户端名称,我知道我需要使用命令:“发送(SOCKETs,constchar*buf,intlen,intflags);”,但我不知道我做错了什么,语法错误或定位错误,idk,这些是代码:(我把这个“//服务器:#include#include#include#include//Sleep();#includeWSADATAdata;SOCKETwinsock;SOCKADDR_INsock;charbuffer[1024];charbuffer2[1024];charnome[50];

c++ - Qt 5 安装失败

长话短说,这是我在尝试安装Qt5.4时得到的结果:我的系统是Windows8.1x64,我的所有驱动器上都有足够的空间。到目前为止我尝试了什么:同时使用离线和在线安装程序重置%TMP%/%TEMP%环境变量(为此我使用tmpfs分区)以管理员身份运行安装程序 最佳答案 根据评论讨论,这似乎意味着您的系统上的某些损坏可能会触发此故障,因为重新安装您的Windows8.1似乎已使此工作正常。供将来引用:一般来说,您可以通过尝试安装32位版本而不是64位版本来调试此问题。如果这不起作用,您可以选择最小安装。如果这不起作用,您可以尝试其他编

java - 如何以编程方式清除 Windows 中的缓存?

我读过几篇文章here和here关于如何使用外部应用程序清除缓存。我想运行性能基准测试,并想在每次运行前清除操作系统文件系统缓存。我在Java中运行一个带有许多参数的程序,我需要一种自动执行此操作的方法,即在Java中以编程方式进行。有什么建议吗? 最佳答案 您可以使用批处理文件来清除缓存并在java中调用该批处理文件。这是在java中调用批处理文件的命令:morehereRuntime.getRuntime().exec("cmd/cstartclearCache.bat");此批处理文件将清除windows中的所有java缓存。

windows - 如何以编程方式获取强制密码历史组策略设置?

我如何以编程方式获取EnforcePasswordHistory组策略设置?研究成果您可以在以下位置找到组策略选项:**ComputerConfiguration\WindowsSettings\SecuritySettings\AccountPolicies\PasswordPolicy**EnforcepasswordhistoryThissecuritysettingdeterminesthenumberofuniquenewpasswordsthathavetobeassociatedwithauseraccountbeforeanoldpasswordcanbereused.

c++ - 在 C/C++ 中如何以编程方式检测 SATA SSD 在 Windows 中的插入和拔出?

我正在尝试编写一个C/C++程序来检测Windows7中的新SATASSD(固态驱动器)连接。这款SATASSD还附带一条SATA-USB数据线。我已经将SATA端连接到SATASDD,将USB端连接到我的电脑。通过使用Windows消息系统检测WM_DEVICECHANGE消息和关联的DBT_DEVICEARRIVAL事件,我已经能够检测到SATASDD连接和移除。为此,我还使用RegisterDeviceNotification注册设备(即SATASSD),以便顶层窗口接收设备类型DBT_DEVTYP_DEVICEINTERFACE的通知以及SATASSD的classguid.但是

c++ - 使用 Qt 在 Windows 桌面上使用蓝牙 LE

我正在为Windows桌面环境开发一个使用QtQuick2.0的应用程序。我需要使用蓝牙LE与传感器通信,为此我的电脑有一个蓝牙4.0USB加密狗。由于Qt不支持Windows桌面上的蓝牙,我正在寻找另一个API来执行此操作。我遇到过不同的API,例如32feet,但这些API似乎已经过时,而且大多不支持BLE。我运行的是Windows8.1,所以使用Windows蓝牙堆栈似乎很简单,但我不确定是否可以在Qt中使用它。我希望你有一个解决方案或者能给我指明方向。关于我的平台的更多信息:Windows8.1采用BroadcomBCM20702芯片的BLEUSB加密狗QtQuick2.0,C

c++ - 以编程方式设置应用程序的处理器亲和性

我们有一个C++COM服务器应用程序,用户可以从中选择和启动他们自己的进程。我想在启动器应用程序中添加“处理器关联集”功能。客户有一个多CPU系统(2个物理CPU)。用户将给出物理CPU编号,1或2。应用程序启动器需要根据用户的输入为其应用程序设置处理器关联。如果他们给CPU编号为2,那么从启动器启动的应用程序应该使用CPU2。如何计算处理器亲和性掩码(基于CPU)?此启动器应用程序应适用于WindowsXP32位和Windows764位计算机。此外,处理器类型可能因机器而异(英特尔、AMD或其他)。该应用程序是作为COM服务器(C++)开发的。请给我一个好的解决方案。

c++ - 释放和恢复 Qt 中的嵌入式窗口

在我的Qt应用程序中,我需要嵌入一个native窗口。我首先获取它的WinId。之后,我按以下方式创建嵌入式小部件:QWindow*window=newQWindow::fromWinId(winid);QWidget*widget=createWindowContainer(window);QVBoxLayoutvl;ui->frame->setLayout(&vl);vl.addwidget(widget);widget->show();它按照预期的方式完美运行。但是,当我想关闭我的Qt应用程序并释放嵌入式窗口并将其恢复到其原始状态时,我遇到了问题。我目前正在执行以下释放窗口的步骤