10

到目前为止,我可以使用 QNetworkConfigurationManager::allConfigurations() 扫描所有可用的 wifi,但是它们每个的 QNetworkConfiguration 数据都没有 wifi 信号强度。你能告诉我如何获取这些数据吗?谢谢!

4

2 回答 2

3

您可以使用 QProcess 并运行命令行命令来扫描 wifi 网络。使用正则表达式解析包含 wifi 网络所有详细信息的命令行输出。

如果您使用的是 linux,那么命令是“iwlist scan”

于 2013-11-19T13:31:05.280 回答
2

我不确定您是否可以在普通桌面上执行此操作(我的意思是仅使用 Qt)。Qt 只是没有与设备通用的接口来获取这些东西。我不确定您使用的是什么操作系统,但最适合您的是与操作系统链接并从中获取信息或直接通过驱动程序与设备对话。这两种方法都很困难,尤其是因为您需要文档,而且:

  • 对于第一种方法,通过驱动程序链接 - 这仅适用于特定驱动程序,除非以许多驱动程序通用的方式报告信号强度。
  • 对于第二种方法,通过系统链接 - linux 发行版之间可能存在细微差别,这可能使您无法使应用程序在它们之间移植。Windows 和 linux 也是如此,不能保证(我什至会说“方式”,但我不确定……)两个系统都使用相同的方法来报告用户的信号强度。

无论您决定做什么,都可以使用标准操作系统功能来完成目标。例如,在 Windows 中,您可以使用WlanGetAvailableNetworkList(). 据我记得,它将提供一种叫做IRSSI直接信号强度指示器的东西:)

请享用 :)

于 2013-11-06T20:54:39.847 回答