Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer une ip depuis un QLineEdit

    17 novembre 2010 à 18:56:42

    Bonjour,

    j'essaie depuis quelques temps déjà de récupérer un IP saisie dans un widget QLineEdit avec un masque (voir code) :
    import sys
    from PySide import QtCore, QtGui
    
    class calcIP(QtGui.QDialog):
    	def __init__(self,parent=None):
    		QtGui.QDialog.__init__(self,parent)
    		
    		self.__edit_ad=QtGui.QLineEdit()
    		self.__edit_mask=QtGui.QLineEdit()
    		self.__edit_pref=QtGui.QSpinBox()
    		self.__edit_pref.setValue(24)
    		self.__edit_pref.setMaximum(32)
    		self.__edit_pref.setMinimum(0)
    		self.__edit_ad.setInputMask("000.000.000.000;0")
    		self.__edit_mask.setInputMask("000.000.000.000;0")
    		
    		
    		self.__res_etendue=QtGui.QLabel(u"étendue")
    		self.__res_nb=QtGui.QLabel(u"hôtes")
    		self.__res_res=QtGui.QLabel(u"réseau")
    		self.__res_dif=QtGui.QLabel("broadcast")
    		
    		self.__button=QtGui.QPushButton("Fermer")
    		
    		layout1=QtGui.QFormLayout()
    		layout1.addRow("Adresse IP : ",self.__edit_ad)
    		layout1.addRow(u"Masque réseau : ",self.__edit_mask)
    		layout1.addRow(u"Préfixe",self.__edit_pref)
    		
    		self.__col1=QtGui.QGroupBox(u"Entrées")
    		self.__col1.setLayout(layout1)
    		
    		layout2=QtGui.QFormLayout()
    		layout2.addRow("Etendue : ",self.__res_etendue)
    		layout2.addRow(u"Nb. d'hôtes : ",self.__res_nb)
    		layout2.addRow(u"Adresse réseau",self.__res_res)
    		layout2.addRow(u"Adresse de diffusion",self.__res_dif)
    		
    		self.__col2=QtGui.QGroupBox(u"Résultats")
    		self.__col2.setLayout(layout2)
    				
    		layout3=QtGui.QHBoxLayout()
    		layout3.addWidget(self.__col1)
    		layout3.addWidget(self.__col2)
    		
    		layout4=QtGui.QHBoxLayout()
    		layout4.addStretch()
    		layout4.addWidget(self.__button)
    		
    		layout=QtGui.QVBoxLayout()
    		layout.addLayout(layout3)
    		layout.addLayout(layout4)
    		
    		self.setLayout(layout)
    		
    		self.__edit_ad.editingFinished.connect(self.changements)
    		self.__edit_ad.returnPressed.connect(self.changements)
    		self.__edit_mask.editingFinished.connect(self.changements)
    		self.__edit_mask.returnPressed.connect(self.changements)
    		self.__edit_pref.valueChanged.connect(self.changement_spin)
    		self.__button.clicked.connect(self.accept)
    		
    		
    		
    	def changements(self):
    		test_ip=str(self.__edit_ad.text()).split(".")
    		#test_mask=str(self.__edit_mask.text).split(".")
    		#error = False
    		#for i in test_ip:
    			#if i>255:
    			#	error=True
    			#	break
    		#for i in test_mask:
    		#	if i>255:
    		#		error=True
    		#		break
    		#if error:
    		#	QtGui.QMessageBox.critical(self,"Erreur","IP non valide")
    		#	self.__edit_ad.setText("000.000.000.000") 
    		#	self.__edit_mask.setText("000.000.000.000") 
    		pass
    	def changement_spin(self):
    		hotes=(2**(32-self.__edit_pref.value()))-2
    		self.__res_nb.setText(str(hotes))
    		
    app=QtGui.QApplication(sys.argv)
    dialog=calcIP()
    dialog.exec_()
    


    Je voudrais donc récupérer le contenue de self.__edit_ad sous cette forme : 19216811 par exemple, quelqun a une solution ? =)

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      17 novembre 2010 à 20:58:15

      Je sais pas si j'ai bien compris ce que tu voulais, mais il me semble que la méthode text() te permettra de retourner la valeur se trouvant dans le Qlineedit.

      méthode text()

      :)
      • Partager sur Facebook
      • Partager sur Twitter

      Récupérer une ip depuis un QLineEdit

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown