I am running this code and it opens in browser and works fine. But when I copy link and open in flet studio then I don't know why it not showing ft.Text's decoration which is "line through"
import flet as ft
class CustomCheckbox(ft.UserControl):
def __init__(self,text,value,remove,remove_append):
super().__init__()
self.value = value
self.remove = remove
self.remove_append = remove_append
self.input_text = ft.Text(text,color = "white",size = 15,weight = ft.FontWeight.W_600)
self.text = ft.Column([self.input_text],width = 140)
self.check = ft.Container(height = 20,width = 20, border = ft.border.all(1,"white") ,border_radius = 20,on_click = self.remove_and_append)
if self.value == True:
self.check.bgcolor = "white"
self.input_text.style = ft.TextStyle(decoration= ft.TextDecoration.LINE_THROUGH,decoration_thickness = 2)
self.delete = ft.IconButton(icon = ft.icons.DELETE_FOREVER_ROUNDED,icon_size = 20,on_click = self.delete_click,style = ft.ButtonStyle(overlay_color = "#3db6db"))
self.edit = ft.IconButton(icon = ft.icons.EDIT_ROUNDED,icon_size = 20,on_click = self.edit_click,style = ft.ButtonStyle(overlay_color = "#3db6db"))
self.edit_text = ft.TextField(value = self.input_text.value,width = 230,height = 100,border_color = "white",bgcolor = "white",color = "black",border_radius = 20,error_style = ft.TextStyle(color = "white"),focused_border_color = "white")
self.edit_save = ft.IconButton(icon = ft.icons.KEYBOARD_ARROW_RIGHT_ROUNDED,icon_size = 40,on_click = self.edit_save_click,style = ft.ButtonStyle(overlay_color = "#3db6db"),icon_color = "white")
self.edit_save_aligned = ft.Column([self.edit_save,ft.Container(height = 30)])
def remove_and_append(self,e):
self.value = not self.value
self.remove_append(self,self.text,self.value)
def delete_click(self,e):
self.remove(self)
def edit_click(self,e):
self.edit_text.error_text = ""
self.view_container.visible = False
self.edit_container.visible = True
self.update()
def edit_save_click(self,e):
if not self.edit_text.value == "":
self.input_text.value = self.edit_text.value
self.view_container.visible = True
self.edit_container.visible = False
else:
self.edit_text.error_text = "Please write something"
self.update()
def build(self):
self.buttons = ft.Container(content = ft.Row([self.edit,self.delete],spacing = 0),bgcolor="white",border_radius = 20,margin = 5,width = 100)
self.view = ft.Container(content = ft.Row([self.check,self.text]),width = 170)
self.view_container = ft.Container(content = ft.Row([self.view,self.buttons],spacing = 1),padding = 10,border = ft.border.all(2,"blue"),border_radius = 30,gradient=ft.LinearGradient(begin=ft.alignment.top_center,end=ft.alignment.bottom_center,colors=["#3db6db","#284557"],
))
self.edit_container = ft.Container(content = ft.Row([self.edit_text,self.edit_save_aligned],spacing = 3) ,alignment = ft.alignment.center,padding = ft.padding.only(top = 15, bottom=-13,right = 5,left = 5),border = ft.border.all(2,"blue"),border_radius = 30,gradient=ft.LinearGradient(begin=ft.alignment.top_center,end=ft.alignment.bottom_center,colors=["#3db6db","#284557"], ),visible = False)
return ft.Column([self.view_container,self.edit_container])
def main(page: ft.Page):
page.padding = 30
def remove(obj):
pass
def remove_append(obj,text,value):
pass
col= ft.Column(horizontal_alignment = "center")
obj = CustomCheckbox("hello. world I am ankush here done with that ship",True,remove,remove_append)
col.controls.append(obj)
page.add(col)
ft.app(target=main, view=ft.AppView.WEB_BROWSE
R)
It should show line through decoration in flet studio as well but it not showing there