This code is not showing ft.text decoration "line through" in flet studio

25 views Asked by At

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

0

There are 0 answers