本文整理汇总了Python中utils.dialogo_entrada函数的典型用法代码示例。如果您正苦于以下问题:Python dialogo_entrada函数的具体用法?Python dialogo_entrada怎么用?Python dialogo_entrada使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dialogo_entrada函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: nuevo
def nuevo(self, widget):
"""
Función callback del botón b_nuevo.
Pide los datos básicos para crear un nuevo objeto.
Una vez insertado en la BD hay que hacerlo activo
en la ventana para que puedan ser editados el resto
de campos que no se hayan pedido aquí.
"""
silo = self.objeto
nombre = utils.dialogo_entrada('Introduzca el nombre del silo:', 'NOMBRE', padre = self.wids['ventana'])
if nombre != None:
capacidad = utils.dialogo_entrada(titulo = "CAPACIDAD",
texto = "Introduzca la capacidad del silo:",
padre = self.wids['ventana'])
try:
capacidad = float(capacidad)
except:
utils.dialogo_info(titulo = "VALOR INCORRECTO",
texto = "El valor %s no es correcto. Inténtelo de nuevo.\nAsegúrese de no introducir unidades.",
padre = self.wids['ventana'])
return
observaciones = utils.dialogo_entrada(titulo = "OBSERVACIONES",
texto = "Introduzca observaciones si lo desea:",
padre = self.wids['ventana'])
if observaciones != None:
silo = pclases.Silo(nombre = nombre,
capacidad = capacidad,
observaciones = observaciones)
self.rellenar_widgets()
示例2: add_campoesp
def add_campoesp(self, w):
campo = utils.dialogo_entrada('Introduzca nombre del campo:', 'NOMBRE', padre = self.wids['ventana'])
if campo:
valor = utils.dialogo_entrada('Introduzca valor del campo:', 'VALOR', padre = self.wids['ventana'])
if valor:
producto = self.objeto
ce = pclases.CamposEspecificos(productoVenta = producto,
nombre = campo,
valor = valor)
self.mostrar_especificos()
示例3: elegir_o_crear_obra
def elegir_o_crear_obra(self):
"""
Crea una nueva obra relacionada con la factura de venta de la ventana.
"""
obras = pclases.Obra.select(orderBy = "nombre")
obras = [o for o in obras
if self.objeto.cliente in o.clientes]
idobra = utils.dialogo_combo(titulo = "SELECCIONE OBRA",
texto = "Es necesario relacionar una obra con la factura."\
"\nSeleccione una del desplegable inferior o cree una "\
"nueva",
padre = self.wids['ventana'],
ops = [(0, "Crear una obra nueva")] + [(o.id, o.nombre)
for o in obras])
if idobra == 0:
nombre = utils.dialogo_entrada(titulo = "NOMBRE DE OBRA",
texto = "Introduzca el nombre de la obra:",
padre = self.wids['ventana'])
if not nombre:
return None
direccion = utils.dialogo_entrada(titulo = "DIRECCIÓN",
texto = "Introduzca la dirección de la obra:",
padre = self.wids['ventana'])
if direccion == None:
return None
ciudad = utils.dialogo_entrada(titulo = "CIUDAD",
texto = "Introduzca la ciudad:",
padre = self.wids['ventana'])
if ciudad == None:
return None
cp = utils.dialogo_entrada(titulo = "CÓDIGO POSTAL",
texto = "Introduzca el código postal",
padre = self.wids['ventana'])
if cp == None:
return None
provincia = utils.dialogo_entrada(titulo = "PROVINCIA",
texto = "Introduzca la provincia:",
padre = self.wids['ventana'])
if provincia == None:
return None
# De fecha de inicio, fecha de fin de obra y observacione pasamos a
# este nivel. Eso se afina en la ventana de obras.
obra = pclases.Obra(nombre = nombre, direccion = direccion,
cp = cp, ciudad = ciudad, provincia = provincia,
fechainicio = None, fechafin = None,
observaciones = "Creada desde módulo CRM: detalles de "\
"factura.",
generica = False)
obra.addCliente(self.objeto.cliente)
elif idobra:
obra = pclases.Obra.get(idobra)
else:
obra = None
return obra
示例4: add_campoesp
def add_campoesp(self, w):
campo = utils.dialogo_entrada('Introduzca nombre del campo:', 'NOMBRE')
if not campo:
return
valor = utils.dialogo_entrada('Introduzca valor del campo:', 'VALOR')
if not valor:
return
producto = self.objeto
ce = pclases.CamposEspecificos(productoVenta = producto,
nombre = campo,
valor = valor)
self.mostrar_especificos()
示例5: crear_nuevo_tipodematerialBala
def crear_nuevo_tipodematerialBala(self, widget):
"""
Función callback del botón b_nuevo.
Pide los datos básicos para crear un nuevo objeto.
Una vez insertado en la BD hay que hacerlo activo
en la ventana para que puedan ser editados el resto
de campos que no se hayan pedido aquí.
"""
nuevotipo = utils.dialogo_entrada('Introduzca el nuevo tipo de material')
nuevocodigo = utils.dialogo_entrada('Introduzca el código asociado al material')
if nuevotipo != None and nuevocodigo !=None :
tipodematerialBala = pclases.TipoMaterialBala(descripcion = nuevotipo, codigo = nuevocodigo)
self.rellenar_tabla()
示例6: crear_nuevo_contador
def crear_nuevo_contador(self, widget):
"""
Función callback del botón b_nuevo.
Pide los datos básicos para crear un nuevo objeto.
Una vez insertado en la BD hay que hacerlo activo
en la ventana para que puedan ser editados el resto
de campos que no se hayan pedido aquí.
"""
prefijo = utils.dialogo_entrada('Introduzca el prefijo del nuevo contador')
if prefijo != None:
sufijo = utils.dialogo_entrada('Introduzca el sufijo del nuevo contador')
if sufijo != None:
contador = pclases.Contador(prefijo = prefijo, sufijo = sufijo, contador = 1)
self.rellenar_tabla()
示例7: set_lote
def set_lote(self, w):
numlote = utils.dialogo_entrada(titulo = 'Nº LOTE',
texto = 'Introduzca número de lote:',
padre = self.wids['ventana'])
if numlote != None:
lotes = pclases.Lote.select(pclases.Lote.q.numlote.contains(numlote))
if lotes.count() == 0:
utils.dialogo_info(titulo = 'LOTE NO ENCONTRADO',
texto = 'No se encontró ningún lote %s.' % numlote,
padre = self.wids['ventana'])
return
elif lotes.count() > 1:
filas = [(l.id, l.numlote, l.codigo, l.tenacidad, l.elongacion, l.rizo, l.encogimiento) for l in lotes]
idlote = utils.dialogo_resultado(filas,
titulo = 'SELECCIONE LOTE',
cabeceras = ('ID', 'Número', 'Código', 'Tenacidad', 'Elongación', 'Rizo', 'Encogimiento'),
padre = self.wids['ventana'])
if idlote < 0:
return
lote = pclases.Lote.get(idlote)
else:
lote = lotes[0]
if len(lote.balas) == 0:
utils.dialogo_info(titulo = 'LOTE VACÍO',
texto = 'El lote no contiene balas, no puede\nrealizar pruebas sobre un lote vacío.',
padre = self.wids['ventana'])
self.lote = None
return
self.lote = lote
self.actualizar_ventana()
示例8: nuevo_todo
def nuevo_todo(self, idfras):
texto = utils.dialogo_entrada(
titulo="TEXTO TAREA", texto="Introduzca el texto de la tarea.", padre=self.wids["ventana"]
)
if texto:
idcat = utils.dialogo_entrada_combo(
titulo="SELECCIONE CATEGORÍA",
texto="Selecciona una categoría del desplegable" " inferior:",
padre=self.wids["ventana"],
ops=[
(c.id, "%s (Pri.: %d)" % (c.descripcion, c.prioridad))
for c in pclases.Categoria.select(orderBy="prioridad")
],
)
if idcat and idcat[0] != None:
for id in idfras:
tarea = pclases.Tarea(
facturaVentaID=id,
categoriaID=idcat[0],
texto=texto,
pendiente=True,
fechadone=None,
fecha=mx.DateTime.localtime(),
)
self.buscar_todos()
示例9: buscar_cliente
def buscar_cliente(self):
"""
Busca un cliente y devuelve su ID o None.
"""
idcliente = None
a_buscar = utils.dialogo_entrada(titulo = "BUSCAR CLIENTE", texto = "Introduzca nombre o CIF del cliente:", padre = self.wids['ventana'])
if a_buscar != None:
criterio = pclases.OR(pclases.Cliente.q.nombre.contains(a_buscar),
pclases.Cliente.q.cif.contains(a_buscar))
resultados = pclases.Cliente.select(criterio)
if resultados.count() > 1:
## Refinar los resultados
idcliente = self.refinar_resultados_busqueda_cliente(resultados)
if idcliente == None:
return None
resultados = [pclases.Cliente.get(idcliente)]
elif resultados.count() < 1:
## Sin resultados de búsqueda
utils.dialogo_info('SIN RESULTADOS',
'La búsqueda no produjo resultados.\nPruebe a cambiar el texto buscado o déjelo en blanco para ver una lista completa.\n(Atención: Ver la lista completa puede resultar lento si el número de elementos es muy alto)',
padre = self.wids['ventana'])
return None
## Un único resultado
idcliente = resultados[0].id
return idcliente
示例10: add_actividad
def add_actividad(self, boton):
texto = utils.dialogo_entrada(titulo = "NUEVA ACTIVIDAD",
texto =
"Introduzca la descripción de la nueva actividad deportiva:",
padre = self.wids['ventana'])
if texto != None:
opciones = [(e.id, e.nombre)
for e in pclases.Evento.select(orderBy = "nombre")]
opciones.insert(0, (0, "Sin evento relacionado"))
idevento = utils.dialogo_combo(titulo = "SELECCIONE EVENTO:",
texto = "Seleccione un evento de la lista:",
ops = opciones,
padre = self.wids['ventana'],
valor_por_defecto = 0)
if idevento != None:
if idevento == 0:
evento = None
else:
evento = pclases.Evento.get(idevento)
actividad = pclases.Actividad(descripcion = texto,
evento = evento,
fechahoraInicio = datetime.datetime.today(),
fechahoraFin = datetime.datetime.today(),
grupoAlumnos = self.objeto)
model = self.wids['tv_actividades'].get_model()
model.append((actividad.descripcion,
actividad.evento
and actividad.evento.nombre or "",
utils.str_fechahora(actividad.fechahoraInicio),
utils.str_fechahora(actividad.fechahoraFin),
actividad.get_puid()))
示例11: set_partida
def set_partida(self, boton):
"""
Hace activa una partida seleccionada para agregarle balas, imprimir su consumo, etc...
"""
try:
max_partida = pclases.PartidaCarga._connection.queryOne("SELECT MAX(numpartida) FROM partida_carga")[0]
max_partida = "%d" % (max_partida + 1)
except:
max_partida = ""
codigo = utils.dialogo_entrada(titulo = '¿NÚMERO DE PARTIDA?',
texto = 'Introduzca el número de partida de carga:',
padre = self.wids['ventana'],
valor_por_defecto = max_partida)
if codigo == None:
return
try:
try:
codigo = int(codigo.upper().replace("PC", ""))
partida = pclases.PartidaCarga.select(pclases.PartidaCarga.q.numpartida == codigo)[0]
except ValueError:
partida = pclases.PartidaCarga.select(pclases.PartidaCarga.q.codigo == codigo)[0]
self.objeto = partida
self.actualizar_ventana()
except TypeError:
return
except IndexError:
codigo = `codigo` # CHAPU
if codigo.strip() != "" and utils.dialogo(titulo='¿CREAR PARTIDA?',
texto='No se encontró la partida %s.\n¿Desea crear una nueva?' % (codigo),
padre = self.wids['ventana']):
self.nueva_partida(codigo)
示例12: pedir_rango_balas
def pedir_rango_balas(self):
"""
Pide un rango de números de balas.
Devuelve un generador de números
de bala que comienza en el primero
del rango (o único, si solo se teclea uno)
y acaba en el último del rango.
"""
rango = utils.dialogo_entrada(titulo = 'INTRODUZCA RANGO',
texto = 'Rango de números de bala o el código individual.\nEscriba el rango de códigos de la forma "xxxx-yyyy", ambos inclusive.\nO bien una lista de números separada por comas o espacios (xxxx, yyyy zzzz).',
padre = self.wids['ventana'])
articulos = []
if rango == '' or rango == None:
return rango
try:
if '-' in rango:
ini, fin = rango.split('-')
ini = int(ini)
fin = int(fin)
if fin < ini:
ini, fin = fin, ini
else:
ini = int(rango)
fin = ini
except:
utils.dialogo_info(titulo = 'CÓDIGO INCORRECTO',
texto = 'Los códigos deben ser numéricos.\n\nVerifique que los ha escrito correctamente y que ha separado el rango con un guión.',
padre = self.wids['ventana'])
return []
return xrange(ini, fin+1)
示例13: set_lote
def set_lote(self, w):
numlote = utils.dialogo_entrada(titulo="Nº LOTE", texto="Introduzca número de lote:")
if numlote != None:
lotes = pclases.Lote.select(pclases.Lote.q.numlote.contains(numlote))
if lotes.count() == 0:
utils.dialogo_info(titulo="LOTE NO ENCONTRADO", texto="No se encontró ningún lote %s." % numlote)
return
elif lotes.count() > 1:
filas = [(l.id, l.numlote, l.codigo, l.tenacidad, l.elongacion, l.rizo, l.encogimiento) for l in lotes]
idlote = utils.dialogo_resultado(
filas,
titulo="SELECCIONE LOTE",
cabeceras=("ID", "Número", "Código", "Tenacidad", "Elongación", "Rizo", "Encogimiento"),
)
if idlote < 0:
return
lote = pclases.Lote.get(idlote)
else:
lote = lotes[0]
if len(lote.balas) == 0:
utils.dialogo_info(
titulo="LOTE VACÍO",
texto="El lote no contiene balas, no puede\nrealizar pruebas sobre un lote vacío.",
)
self.lote = None
return
self.lote = lote
self.actualizar_ventana()
示例14: add_ausencia
def add_ausencia(self, b):
fecha = utils.str_fecha(utils.mostrar_calendario(padre=self.wids["ventana"]))
dia, mes, anno = map(int, fecha.split("/"))
fecha = mx.DateTime.DateTimeFrom(day=dia, month=mes, year=anno)
opciones = []
for motivo in pclases.Motivo.select():
opciones.append((motivo.id, "%s %s" % (motivo.descripcion, motivo.descripcionDias)))
idmotivo = utils.dialogo_combo(
titulo="¿MOTIVO?", texto="Seleccione motivo de ausencia", ops=opciones, padre=self.wids["ventana"]
)
if idmotivo != None:
motivo = pclases.Motivo.get(idmotivo)
defecto = "%d" % motivo.excedenciaMaxima
duracion = utils.dialogo_entrada(
titulo="DURACIÓN",
texto="Introduzca la duración en días de la ausencia.",
padre=self.wids["ventana"],
valor_por_defecto=defecto,
)
try:
duracion = int(duracion)
for i in range(duracion):
ausencia = pclases.Ausencia(
empleado=self.objeto, fecha=fecha + (mx.DateTime.oneDay * i), motivo=motivo
)
self.actualizar_ventana()
except ValueError:
utils.dialogo_info(
titulo="VALOR INCORRECTO",
texto="Debe teclear un número. Vuelva a intentarlo",
padre=self.wids["ventana"],
)
示例15: buscar_categoria_laboral
def buscar_categoria_laboral(self, widget):
"""
Muestra una ventana de búsqueda y a continuación los
resultados. El objeto seleccionado se hará activo
en la ventana a no ser que se pulse en Cancelar en
la ventana de resultados.
"""
categoria_laboral = self.objeto
objetobak = self.objeto
a_buscar = utils.dialogo_entrada("Introduzca nombre o código del puesto.")
if a_buscar != None:
criterio = sqlobject.OR(pclases.CategoriaLaboral.q.codigo.contains(a_buscar),
pclases.CategoriaLaboral.q.puesto.contains(a_buscar))
resultados = pclases.CategoriaLaboral.select(criterio)
if resultados.count() > 1:
## Refinar los resultados
idcategoria_laboral = self.refinar_resultados_busqueda(resultados)
if idcategoria_laboral == None:
return
resultados = [pclases.CategoriaLaboral.get(idcategoria_laboral)]
elif resultados.count() < 1:
## Sin resultados de búsqueda
utils.dialogo_info('SIN RESULTADOS',
'\n\nLa búsqueda no produjo resultados.\nPruebe a cambiar el texto buscado o déjelo en blanco para ver una lista completa.\n(Atención: Ver la lista completa puede resultar lento si el número de elementos es muy alto)\n\n')
return
## Un único resultado
# Primero anulo la función de actualización
if categoria_laboral != None:
categoria_laboral.notificador.set_func(lambda : None)
# Pongo el objeto como actual
categoria_laboral = resultados[0]
# Y activo la función de notificación:
self.objeto = categoria_laboral
self.actualizar_ventana(objetobak)
categoria_laboral.notificador.set_func(self.aviso_actualizacion)