linux窗口程序设计 Qt4精彩实例分析 pyqt实现 实例47 获取本机网络信息

    技术2022-05-19  22

    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_()

     


    最新回复(0)