Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Spanish
  4. Leer, escribir en Objetos creados en Qt ==>Py
QtWS25 Last Chance

Leer, escribir en Objetos creados en Qt ==>Py

Scheduled Pinned Locked Moved Unsolved Spanish
3 Posts 1 Posters 483 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    Raulh
    wrote on 3 Jan 2024, 16:37 last edited by
    #1

    Hola.
    Estoy haciendo un sistema ( en realidad, algo mas ), pero tengo el inconveniente siguiente:
    NO soy un experimentado programador, entonces:
    Hago una pantalla con Qt designer ( .ui ), la 'convierto a .py con Pyuic5.
    Luego hago un programa de 'control' de esa pantalla y la incorporo con from Screen_VPRaul_V1 import *
    Lo Hago asi pues si agrego/modifico alguna cosa de la pantalla, NO modifico lo ya hecho en el 'control'.

    Programa de pantalla: Scn_Cnv_Dobot
    Programa de control : Conv_Gcode_a_Lua

    Ejecuto Conv_Gcode_a_Lua y se 'abre' la pantalla.
    Los botones responden al llamado.
    PERO, Cuando hago la Funcion 'Control_Datos', en este caso al llamar el boton 'Generar Files'.
    NO puedo 'pasar' el contenido / modificar el color, y demas propiedades por ejemplo de una QTextEdit,QLineEdit, DESE EL PROGRAMA DE CONTROL.
    Necesito especialmente los valores de la propiedad 'text' de ellos.

    Mira:
    Traceback (most recent call last):
    File "E:\RhM_2024\Prg_Convertir_a_Lua\Conv_Gcode_a_Lua.Py", line 91, in Control_Datos
    Cpo_Sorg = (Campo_Sorgente[text()])
    NameError: name 'Campo_Sorgente' is not defined
    [Finished in 3.2s]

    Creo es un error de sintaxix, la busque xxxxxx veces en interet, prove xxxxxx veces y nada.

    Puedo pasarte los dos programas COMPLETOS, solo que no se como agregarlos aqui.

    Pruebo copiarlo aqui, vemos si lo recibes completo.
    desde ya MUCHAS GRACIAS-

    1 Reply Last reply
    0
    • R Offline
      R Offline
      Raulh
      wrote on 3 Jan 2024, 16:38 last edited by
      #2

      Programa de conbversion Gcode a Lua per Dobot

      File Conv_Gcode_a_Lua

      Raul

      File de Texto original 852303

      File de destino point.Json

      prj.json

      src0.lua

      global.lua

      fileCRCCode.json

      import sys
      import time
      from PyQt5.QtCore import Qt

      from Scn_Cnv_Dobot import *

      class Aplicacion:

      def Calculo_puntos():
      	Punto += 1
      
      	Punto_X = linea.find("X",primer_caracter_g)
      	Punto_Y = linea.find("Y",primer_caracter_g)
      	Punto_Z = linea.find("Z",primer_caracter_g)
      		
      	if Punto_X !=-1:
      		Punto_X_Es = linea.find(" ",Punto_X)
      		if Punto_X_Es == -1:
      			Punto_X_Val = linea[Punto_X+1:len(linea)]
      			Punto_X_Val = Punto_X_Val.strip()
      		else:
      			Punto_X_Val = linea[Punto_X+1:Punto_X_Es]
      			Punto_X_Val = Punto_X_Val.strip()
      		if Punto_Y !=-1:
      			Punto_Y_Es = linea.find(" ",Punto_Y)
      		if Punto_Y_Es == -1:
      			Punto_Y_Val = linea[Punto_Y+1:len(linea)]
      			Punto_Y_Val = Punto_Y_Val.strip()
      		else:
      			Punto_Y_Val = linea[Punto_Y+1:Punto_Y_Es]
      			Punto_Y_Val = Punto_Y_Val.strip()
      		
      	if Punto_Z !=-1:
      		Punto_Z_Es = linea.find(" ",Punto_Z)
      		if Punto_Z_Es == -1:
      			Punto_Z_Val = linea[Punto_Z+1:len(linea)]
      			Punto_Z_Val = Punto_Z_Val.strip()
      		else:
      			Punto_Z_Val = linea[Punto_Z+1:Punto_Z_Es]
      			Punto_Z_Val = Punto_Z_Val.strip()
      			
      	Pto_Save_1 = "\"name:\""+"\"P\"" +str(Punto)+"\"tool\""+":1"+"\"user\""+":1,"
      	Pto_Save_2 = "\"joint\":[-20.0277,-11.1383,88.9708,30.2226,-91.7566,-261.5641]},{\"id\":1699604796888,\"alias\":\"\",\n"
      	Pto_Save_3 = "\"armOrientation\":[1,1,1,-1],\"coordinate\":["
      	Pto_Save_4 = str(Punto_X_Val)+","+str(Punto_Y_Val)+","+str(Punto_Z_Val)+","+str(A_Euler)+","+str(E_Euler)+","+str(R_Euler)+"]\n"
      	Pto_Save_5 = "\n"
      		
      	archivo_point.write(Pto_Save_1)
      	archivo_point.write(Pto_Save_2)
      	archivo_point.write(Pto_Save_3)
      	archivo_point.write(Pto_Save_4)
      
      def Crear_Cartela():
      	print ("")
      def Copiar_File():
      	print ('')
      
      def Init():
      	os.path.getsize("852303.txt")
      	Uscita = 3
      	On =1 
      	Off = 0
      	A_Euler = 20.101
      	E_Euler = 22.202
      	R_Euler = 33.303
      	Punto = 0
      	P_save = 10
      	Punto_X_Val = 0
      	Punto_Y_Val = 0
      	Punto_Z_Val = 0
      	#
      

      def Control_Datos():
      print ("Contro d Ver Mod 7")

      #Cpo_Sorg = (Campo_Sorgente[text()])
      Campo_Info.SetText("Hola")
      # Cambio color a Info_Progetto
      # Cambio texto a una Label
      print ("Control Datos ejecutada")
      

      def Generacion_Files():

      	Init()
      	#Control_Datos()
      
      	archivo_gcode = open ("852303.txt","r")
      	archivo_src0 = open ("src0.lua","w")
      	archivo_point = open ("point.json","w")
      	archivo_point.write("[{\"id\":\"base\",\"alias\":\"\",\"armOrientation\":[1,1,-1,-1],\"coordinate\":[0,0,0,0,0,0],\n");
      	archivo_point.write("\"name\":\"InitialPose\",\"tool\":0,\"user\":0,\"joint\":[0,0,0,0,0,0]},{\"id\":1699604731023,\"alias\":\"\",\n");
      	archivo_point.write("\"armOrientation\":[1,1,1,-1],\"coordinate\":[-555.0739,2.8527,746.882,-175.0788,-17.2875,-29.1041],\n");
      	#  ===============================================
      	archivo_global = open ("global.lua","w")
      	archivo_global.close
      	archivo_prj = open ("prj.json","w")
      	Prj_Save = "{"+"\"cpus\""+":[\"src0.lua\"],\"global\":\"global.lua\",\"teach_point\":\"point.json\"}"
      	archivo_prj.write(Prj_Save)
      	archivo_prj.close
      
      	archivo_fileCRCCode = open ("fileCRCCode.json","w")
      	CRCCode_Save ="{\"fileName\":[\"scratch.xml\",\"global.lua\",\"point.json\",\"prj.json\",\"src0.lua\"],\"crcCode\":[2064672904,0,3216453487,668367846,1563868684]}"
      	archivo_fileCRCCode.write(CRCCode_Save)
      	archivo_fileCRCCode.close 
      	#=================================================
      
      	total_lineas = len(archivo_gcode.readline())
      	archivo_src0.write("--- \n");
      	archivo_src0.write(" \n")
      	archivo_src0.write("local Option 1={CP=1, SpeedL=40, AccL=10} "+"---\n");
      	archivo_src0.write("local Option 2={CP=100, SpeedL=15, AccL=10} "+"---\n");
      	archivo_src0.write(" \n")
      
      
      
      
      	for i in range (0,55):
      		linea = archivo_gcode.readline()
      		lg = len(linea)
      		print("linea Nro",i," Long: ",lg,"  ",linea)
      
      		primer_caracter_g = linea.find("G")
      		primer_caracter_m = linea.find("M")
      		primer_caracter_f = linea.find("F")
      		primer_caracter_Paren = linea.find("(")
      
      		if primer_caracter_Paren != -1:
      			archivo_src0.write("---"+" "+linea);
      		else:
      			if primer_caracter_g != -1:
      	
      				gcodigo = linea[primer_caracter_g:7]
      				gcodigo = gcodigo.strip()
      
      				if gcodigo == "G0":
      					#===========================
      					Calculo_puntos()
      					archivo_src0.write("  MovJ("+"P"+str(Punto)+",Option1"+")"+"\n");
      					#============================
      
      				if gcodigo == "G1":
      					#===========================
      					Calculo_puntos()
      					archivo_src0.write("  MovL("+"P"+str(Punto)+",Option2"+")"+"\n")
      					#============================
      
      				if gcodigo == "G2":
      					#===========================
      					Calculo_puntos()
      					archivo_src0.write("  MovL("+"P"+str(Punto)+",Option2"+")"+"\n")
      					#============================
      
      				if gcodigo == "G4":
      					primer_caracter_p = linea.find("P")
      					Punto_P_Val = linea[primer_caracter_p+1:len(linea)]
      					Punto_P_Val = Punto_P_Val.strip()
      					archivo_src0.write("  WAIT("+str(Punto_P_Val)+")"+"\n");	
      
      				if gcodigo == "G90":
      					archivo_src0.write("--- "+str(i)+" "+gcodigo+"  90"+"\n");
      				if gcodigo == "G71":
      					archivo_src0.write("--- "+str(i)+" "+gcodigo+"  71"+"\n");
      
      			else:
      				if primer_caracter_m != -1:
      					mcodigo = linea[primer_caracter_m:8]
      					mcodigo = mcodigo.strip()
      					if mcodigo =="M3":
      						archivo_src0.write( "  DO("+str(Uscita)+","+str(On)+")"+"\n");
      					if mcodigo =="M5":
      						archivo_src0.write( "  DO("+str(Uscita)+","+str(Off)+")"+"\n");
      		
      				if primer_caracter_f != -1:
      					fcodigo = linea[primer_caracter_f:9]
      					fcodigo = fcodigo.strip()
      					archivo_src0.write(str(i)+" "+fcodigo+"\n");
      				
      
      	##
      	archivo_gcode.close
      	archivo_src0.close
      	archivo_point.close
      	print ("Fin generacion")
      

      def Uscita(self):
      quit()

      class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
      def init(self, *args, **kwargs):
      QtWidgets.QMainWindow.init(self, *args, **kwargs)
      self.setupUi(self)
      self.Tasto_Uscita.clicked.connect(Uscita)
      self.Tasto_Generar_File.clicked.connect(Control_Datos)

      #self.Tasto_Nuevo_Pro.clicked(Nuovo_Proggetto)
      

      if name == "main":
      app = QtWidgets.QApplication([])
      window = MainWindow()
      window.show()
      app.exec_()

      1 Reply Last reply
      0
      • R Offline
        R Offline
        Raulh
        wrote on 3 Jan 2024, 16:39 last edited by
        #3

        Programa de conbversion Gcode a Lua per Dobot

        File Conv_Gcode_a_Lua

        Raul

        File de Texto original 852303

        File de destino point.Json

        prj.json

        src0.lua

        global.lua

        fileCRCCode.json

        import sys
        import time
        from PyQt5.QtCore import Qt

        from Scn_Cnv_Dobot import *

        class Aplicacion:

        def Calculo_puntos():
        	Punto += 1
        
        	Punto_X = linea.find("X",primer_caracter_g)
        	Punto_Y = linea.find("Y",primer_caracter_g)
        	Punto_Z = linea.find("Z",primer_caracter_g)
        		
        	if Punto_X !=-1:
        		Punto_X_Es = linea.find(" ",Punto_X)
        		if Punto_X_Es == -1:
        			Punto_X_Val = linea[Punto_X+1:len(linea)]
        			Punto_X_Val = Punto_X_Val.strip()
        		else:
        			Punto_X_Val = linea[Punto_X+1:Punto_X_Es]
        			Punto_X_Val = Punto_X_Val.strip()
        		if Punto_Y !=-1:
        			Punto_Y_Es = linea.find(" ",Punto_Y)
        		if Punto_Y_Es == -1:
        			Punto_Y_Val = linea[Punto_Y+1:len(linea)]
        			Punto_Y_Val = Punto_Y_Val.strip()
        		else:
        			Punto_Y_Val = linea[Punto_Y+1:Punto_Y_Es]
        			Punto_Y_Val = Punto_Y_Val.strip()
        		
        	if Punto_Z !=-1:
        		Punto_Z_Es = linea.find(" ",Punto_Z)
        		if Punto_Z_Es == -1:
        			Punto_Z_Val = linea[Punto_Z+1:len(linea)]
        			Punto_Z_Val = Punto_Z_Val.strip()
        		else:
        			Punto_Z_Val = linea[Punto_Z+1:Punto_Z_Es]
        			Punto_Z_Val = Punto_Z_Val.strip()
        			
        	Pto_Save_1 = "\"name:\""+"\"P\"" +str(Punto)+"\"tool\""+":1"+"\"user\""+":1,"
        	Pto_Save_2 = "\"joint\":[-20.0277,-11.1383,88.9708,30.2226,-91.7566,-261.5641]},{\"id\":1699604796888,\"alias\":\"\",\n"
        	Pto_Save_3 = "\"armOrientation\":[1,1,1,-1],\"coordinate\":["
        	Pto_Save_4 = str(Punto_X_Val)+","+str(Punto_Y_Val)+","+str(Punto_Z_Val)+","+str(A_Euler)+","+str(E_Euler)+","+str(R_Euler)+"]\n"
        	Pto_Save_5 = "\n"
        		
        	archivo_point.write(Pto_Save_1)
        	archivo_point.write(Pto_Save_2)
        	archivo_point.write(Pto_Save_3)
        	archivo_point.write(Pto_Save_4)
        
        def Crear_Cartela():
        	print ("")
        def Copiar_File():
        	print ('')
        
        def Init():
        	os.path.getsize("852303.txt")
        	Uscita = 3
        	On =1 
        	Off = 0
        	A_Euler = 20.101
        	E_Euler = 22.202
        	R_Euler = 33.303
        	Punto = 0
        	P_save = 10
        	Punto_X_Val = 0
        	Punto_Y_Val = 0
        	Punto_Z_Val = 0
        	#
        

        def Control_Datos():
        print ("Contro d Ver Mod 7")

        #Cpo_Sorg = (Campo_Sorgente[text()])
        Campo_Info.SetText("Hola")
        # Cambio color a Info_Progetto
        # Cambio texto a una Label
        print ("Control Datos ejecutada")
        

        def Generacion_Files():

        	Init()
        	#Control_Datos()
        
        	archivo_gcode = open ("852303.txt","r")
        	archivo_src0 = open ("src0.lua","w")
        	archivo_point = open ("point.json","w")
        	archivo_point.write("[{\"id\":\"base\",\"alias\":\"\",\"armOrientation\":[1,1,-1,-1],\"coordinate\":[0,0,0,0,0,0],\n");
        	archivo_point.write("\"name\":\"InitialPose\",\"tool\":0,\"user\":0,\"joint\":[0,0,0,0,0,0]},{\"id\":1699604731023,\"alias\":\"\",\n");
        	archivo_point.write("\"armOrientation\":[1,1,1,-1],\"coordinate\":[-555.0739,2.8527,746.882,-175.0788,-17.2875,-29.1041],\n");
        	#  ===============================================
        	archivo_global = open ("global.lua","w")
        	archivo_global.close
        	archivo_prj = open ("prj.json","w")
        	Prj_Save = "{"+"\"cpus\""+":[\"src0.lua\"],\"global\":\"global.lua\",\"teach_point\":\"point.json\"}"
        	archivo_prj.write(Prj_Save)
        	archivo_prj.close
        
        	archivo_fileCRCCode = open ("fileCRCCode.json","w")
        	CRCCode_Save ="{\"fileName\":[\"scratch.xml\",\"global.lua\",\"point.json\",\"prj.json\",\"src0.lua\"],\"crcCode\":[2064672904,0,3216453487,668367846,1563868684]}"
        	archivo_fileCRCCode.write(CRCCode_Save)
        	archivo_fileCRCCode.close 
        	#=================================================
        
        	total_lineas = len(archivo_gcode.readline())
        	archivo_src0.write("--- \n");
        	archivo_src0.write(" \n")
        	archivo_src0.write("local Option 1={CP=1, SpeedL=40, AccL=10} "+"---\n");
        	archivo_src0.write("local Option 2={CP=100, SpeedL=15, AccL=10} "+"---\n");
        	archivo_src0.write(" \n")
        
        
        
        
        	for i in range (0,55):
        		linea = archivo_gcode.readline()
        		lg = len(linea)
        		print("linea Nro",i," Long: ",lg,"  ",linea)
        
        		primer_caracter_g = linea.find("G")
        		primer_caracter_m = linea.find("M")
        		primer_caracter_f = linea.find("F")
        		primer_caracter_Paren = linea.find("(")
        
        		if primer_caracter_Paren != -1:
        			archivo_src0.write("---"+" "+linea);
        		else:
        			if primer_caracter_g != -1:
        	
        				gcodigo = linea[primer_caracter_g:7]
        				gcodigo = gcodigo.strip()
        
        				if gcodigo == "G0":
        					#===========================
        					Calculo_puntos()
        					archivo_src0.write("  MovJ("+"P"+str(Punto)+",Option1"+")"+"\n");
        					#============================
        
        				if gcodigo == "G1":
        					#===========================
        					Calculo_puntos()
        					archivo_src0.write("  MovL("+"P"+str(Punto)+",Option2"+")"+"\n")
        					#============================
        
        				if gcodigo == "G2":
        					#===========================
        					Calculo_puntos()
        					archivo_src0.write("  MovL("+"P"+str(Punto)+",Option2"+")"+"\n")
        					#============================
        
        				if gcodigo == "G4":
        					primer_caracter_p = linea.find("P")
        					Punto_P_Val = linea[primer_caracter_p+1:len(linea)]
        					Punto_P_Val = Punto_P_Val.strip()
        					archivo_src0.write("  WAIT("+str(Punto_P_Val)+")"+"\n");	
        
        				if gcodigo == "G90":
        					archivo_src0.write("--- "+str(i)+" "+gcodigo+"  90"+"\n");
        				if gcodigo == "G71":
        					archivo_src0.write("--- "+str(i)+" "+gcodigo+"  71"+"\n");
        
        			else:
        				if primer_caracter_m != -1:
        					mcodigo = linea[primer_caracter_m:8]
        					mcodigo = mcodigo.strip()
        					if mcodigo =="M3":
        						archivo_src0.write( "  DO("+str(Uscita)+","+str(On)+")"+"\n");
        					if mcodigo =="M5":
        						archivo_src0.write( "  DO("+str(Uscita)+","+str(Off)+")"+"\n");
        		
        				if primer_caracter_f != -1:
        					fcodigo = linea[primer_caracter_f:9]
        					fcodigo = fcodigo.strip()
        					archivo_src0.write(str(i)+" "+fcodigo+"\n");
        				
        
        	##
        	archivo_gcode.close
        	archivo_src0.close
        	archivo_point.close
        	print ("Fin generacion")
        

        def Uscita(self):
        quit()

        class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
        def init(self, *args, **kwargs):
        QtWidgets.QMainWindow.init(self, *args, **kwargs)
        self.setupUi(self)
        self.Tasto_Uscita.clicked.connect(Uscita)
        self.Tasto_Generar_File.clicked.connect(Control_Datos)

        #self.Tasto_Nuevo_Pro.clicked(Nuovo_Proggetto)
        

        if name == "main":
        app = QtWidgets.QApplication([])
        window = MainWindow()
        window.show()
        app.exec_()

        1 Reply Last reply
        0

        3/3

        3 Jan 2024, 16:39

        • Login

        • Login or register to search.
        3 out of 3
        • First post
          3/3
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved