from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtNetwork import * import sys class NetWork(QDialog): def __init__(self,parent=None): super(NetWork,self).__init__(parent) self.setWindowTitle("Network Information") self.labelLocalHostName = QLabel("&Localhostname:") self.lineEditLocalHostName = QLineEdit() self.labelLocalHostName.setBuddy(self.lineEditLocalHostName) self.labelAddress = QLabel("&Addresss") self.lineEditAddress = QLineEdit() self.labelAddress.setBuddy(self.lineEditAddress) self.hlayout1 = QHBoxLayout() self.hlayout1.addWidget(self.labelLocalHostName) self.hlayout1.addWidget(self.lineEditLocalHostName) self.hlayout2 = QHBoxLayout() self.hlayout2.addWidget(self.labelAddress) self.hlayout2.addWidget(self.lineEditAddress) self.detail = QPushButton("Detail",self) self.vlayout = QVBoxLayout() self.vlayout.addLayout(self.hlayout1) self.vlayout.addLayout(self.hlayout2) self.vlayout.addWidget(self.detail) self.setLayout(self.vlayout) self.connect(self.detail, SIGNAL("clicked()"),self.slotDetail) self.getHostInformation() def slotDetail(self): detail = QString() list = QNetworkInterface.allInterfaces() for i in range(len(list)): interface = list[i] detail = detail + "Device:" + interface.name()+"/n" detail = detail + "HardwareAddress:"+ interface.hardwareAddress()+"/n" entryList = interface.addressEntries() for j in range(len(entryList)): entry = entryList[i] detail = detail +"/t" +"IP Address:"+entry.ip().toString()+"/n" detail = detail +"/t" +"Netmask :"+entry.netmask().toString()+"/n" detail = detail +"/t" +"Broadcase:"+entry.broadcast().toString()+"/n" QMessageBox.information(self, "Detail", detail) def getHostInformation(self): localHostName = QHostInfo.localHostName() self.lineEditLocalHostName.setText(localHostName) hostInfo = QHostInfo.fromName(localHostName) listAddress = hostInfo.addresses() self.lineEditAddress.setText(listAddress[0].toString()) if __name__ =='__main__': app = QApplication(sys.argv) n = NetWork() n.show() app.exec_()