Python ipysheet关于更新单元格属性的问题
我的代码在这里Python ipysheet关于更新单元格属性的问题,python,ipywidgets,Python,Ipywidgets,我的代码在这里 import ipysheet mysheet = ipysheet.sheet(rows=2, columns=2) mysheet c = cell(0,0,1, background_color = 'red') 我想改变背景颜色,我希望这样做 c.background_color = 'yellow' 或者以后 mysheet[0, 0].background_color = 'yellow' 而不是构造一个新对象 c = cell(c.row_start, c.c
import ipysheet
mysheet = ipysheet.sheet(rows=2, columns=2)
mysheet
c = cell(0,0,1, background_color = 'red')
我想改变背景颜色,我希望这样做
c.background_color = 'yellow'
或者以后
mysheet[0, 0].background_color = 'yellow'
而不是构造一个新对象
c = cell(c.row_start, c.column_start, c.value, background_color = 'yellow')
请原谅,如果我为我做了一个阅读文档的问题。但我没有找到我期望的方法。如果没有,有人能解释一下吗?谢谢在查看了ofcell
方法之后,您可以找到该cell
方法返回ipysheet.sheet.cell
类的实例。背景色设置为此类的style
参数的属性。如果此属性满足以下条件,则可以通过将指定的颜色指定给值来动态更改此属性:
>>> import ipysheet
>>> from ipysheet.easy import cell
>>> mysheet = ipysheet.sheet(rows=2, columns=2)
>>> c = cell(0,0,1, background_color = 'red')
>>> type(c)
ipysheet.sheet.Cell
>>> print(c.style['backgroundColor'])
red
>>> c.style['backgroundColor'] = 'blue'
>>> print(c.style['backgroundColor'])
blue
更新:
似乎,将属性设置为另一个值不会改变工作表的背景颜色,因为工作表的小部件无法动态获取状态。您可以使用单元格实例的send\u state()
方法更新状态:
c.style['backgroundColor'] = 'blue'
c.send_state()
# or by position in mysheet
mysheet[0, 0].style['backgroundColor'] = 'blue'
mysheet[0, 0].send_state()
在工作表的该单元格更改背景色之后。查看ofcell
方法后,您可以找到该cell
方法返回ipysheet.sheet.cell
类的实例。背景色设置为此类的style
参数的属性。如果此属性满足以下条件,则可以通过将指定的颜色指定给值来动态更改此属性:
>>> import ipysheet
>>> from ipysheet.easy import cell
>>> mysheet = ipysheet.sheet(rows=2, columns=2)
>>> c = cell(0,0,1, background_color = 'red')
>>> type(c)
ipysheet.sheet.Cell
>>> print(c.style['backgroundColor'])
red
>>> c.style['backgroundColor'] = 'blue'
>>> print(c.style['backgroundColor'])
blue
更新:
似乎,将属性设置为另一个值不会改变工作表的背景颜色,因为工作表的小部件无法动态获取状态。您可以使用单元格实例的send\u state()
方法更新状态:
c.style['backgroundColor'] = 'blue'
c.send_state()
# or by position in mysheet
mysheet[0, 0].style['backgroundColor'] = 'blue'
mysheet[0, 0].send_state()
工作表单元格更改背景色后。谢谢您的回复。我完全重新生成你的代码,我完全同意。但是如果你只是键入
mysheet
。您会注意到图纸的颜色并没有改变,甚至属性的值也发生了变化。只有使用相同的位置重新构建单元格并更新颜色,工作表的颜色才会发生变化。(据我所知)。您好,@KeZhang!经过一些研究,我找到了这个问题的可能解决方案,并在“更新”部分进行了描述。那确实有效。我还发现c.style={'backgroundColor':'yellow'}将代替c.style['backgroundColor']='yellow'工作。我觉得他们应该是一样的,对吧?@KeZhang,你好!是的,它们都是一样的style属性是键值对的集合。其中之一是“背景色”。在c.style={'backgroundColor':'yellow'}的情况下,您只使用一个键('backgroundColor')将属性重新分配给dict,其他属性将被删除(如果存在其他属性)。但为“backgroundColor”键赋值是一个更相关的选项,因为它不会影响style属性中的其他属性。感谢您的回复。我完全重新生成你的代码,我完全同意。但是如果你只是键入mysheet
。您会注意到图纸的颜色并没有改变,甚至属性的值也发生了变化。只有使用相同的位置重新构建单元格并更新颜色,工作表的颜色才会发生变化。(据我所知)。您好,@KeZhang!经过一些研究,我找到了这个问题的可能解决方案,并在“更新”部分进行了描述。那确实有效。我还发现c.style={'backgroundColor':'yellow'}将代替c.style['backgroundColor']='yellow'工作。我觉得他们应该是一样的,对吧?@KeZhang,你好!是的,它们都是一样的style属性是键值对的集合。其中之一是“背景色”。在c.style={'backgroundColor':'yellow'}的情况下,您只使用一个键('backgroundColor')将属性重新分配给dict,其他属性将被删除(如果存在其他属性)。但将值指定给“backgroundColor”键是一个更相关的选项,因为它不会影响样式属性中的其他属性。