qnetworkinterface類負責提供主機的ip位址和網絡接口的清單。
qnetworkinterface表示了目前程式正在運作時與主機綁定的一個網絡接口。每個網絡接口可能包含0個或多個ip位址,每個ip位址都可選擇性地與一個子網路遮罩和/或一個廣播位址相關聯。這樣的清單可以通過addressentries()方法獲得。當子網路遮罩或者廣播位址不必要時,可以使用alladdresses()便捷函數來僅僅獲得ip位址。
qnetworkinterface使用hardwareaddress()方法擷取接口的硬體位址。
不是所有的作業系統都支援這些所有的特性。隻有ipv4位址可以保證在所有平台上都能被這個類列舉出來,尤其是ipv6位址的列舉目前隻支援windows xp及相關版本、linux、macos和bsds。
<a href="#%e7%ae%80%e8%bf%b0">簡述</a>
<a href="#%e8%8e%b7%e5%8f%96%e6%89%80%e6%9c%89ip%e5%9c%b0%e5%9d%80">擷取所有ip位址</a>
<a href="#%e8%8e%b7%e5%8f%96%e7%bd%91%e7%bb%9c%e6%8e%a5%e5%8f%a3%e5%88%97%e8%a1%a8">擷取網絡接口清單</a>
這個便利函數傳回主機上面發現的所有ip位址。相當于allinterfaces()傳回的所有對象調用addressentries()來擷取qhostaddress對象清單,然後每一個對象調用qhostaddress::ip()方法。
hardwareaddress()傳回硬體位址。對以太網接口,這是一個用字元串表示的mac位址(冒号分隔)。其它接口類型可能使用其他類型的硬體位址,不要依靠這個函數來傳回一個合法的mac位址。