Leer, escribir en Objetos creados en Qt ==>Py
-
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_LuaEjecuto 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- -
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 Qtfrom 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_() -
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 Qtfrom 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_()