Python Curso V2: 863 Validación con Expresión Regular de la URL Ingresada en un TextField de Flet

preview_player
Показать описание
Python Curso V2: 863 Validación con una Expresión Regular de la URL Ingresada en un TextField de Flet.

Рекомендации по теме
Комментарии
Автор

Los objetos mejor es crearlos en una clase para no llenar el archivo main de ellos y luego los añades en el archivo main creando un objeto de la clase. Los creas como si fuesen propiedades pero no hace falta meterlos en los parámetros con self y page son suficientes como parámetros del constructor para que no tengas que crear el objeto de la clase con todos ellos así por ejemplo:
import flet as ft
import Modulo.variables
from funciones import *

class ElementosGraficos():

def __init__(self, page):
self.page = page
self.label_url = ft.Text('URL', size=14, weight=ft.FontWeight.W_900)
self.txt_url = ft.TextField(label='Url', expand=True)
self.btn_url = URL', on_click=self.botonURL,

)

Te vas creando los objetos y en las filas yo he usado el contenedor row así, por ejemplo para la fila 1:
self.cRow1 = ft.Row(expand=True, height=45) # te creas el contenedor yo le puse alto y la propiedad expand es totalmente necesaria para que pillen todo el ancho de la ventana y luego le añades los objetos así:
self.cRow1.controls = [self.label_url, self.txt_url, self.btn_url] # le añades los objetos con la propiedad controls que admite una lista, ya sea desde un elemento hasta todos los que quepan.

Para añadir los objetos en la main creas un objeto de la clase y los añades:
ventana = ElementosGraficos(page) # por eso en constructor yo solo puse de parámetros self y page no hay que ponerle todos los controles.

page.add(
ventana.cRow1,
)
Eso si tendrás que importarle el modulo flet si creas la clase en un archivo diferente al main.

Un saludo.

juanmister