Rob*_*and 2 tkinter python-3.x
我现在和tkinter合作过了一段时间.有两种配置方式,至少我只知道两种:
1: frame.config(bg='#123456')
2: frame["bg"] = '#123456'
我经常使用后者.只有同时有更多的事情要做,第二件对我来说才有用.最近我想知道其中一个是否更好'更快'或有任何其他优势.
我不认为这是一个至关重要的问题,但也许有人知道.
研究tkinter代码库,我们发现以下内容:
class Frame(Widget):
# Other code here
class Widget(BaseWidget, Pack, Place, Grid):
pass
class BaseWidget(Misc):
# other code here
class Misc:
# various code
def __setitem__(self, key, value):
self.configure({key: value})
Run Code Online (Sandbox Code Playgroud)
因此,这两种方法实际上是等价的.这条线
frame['bg'] = '#123456'
Run Code Online (Sandbox Code Playgroud)
被解释为frame.__setitem__('bg','#123456'),在通过继承链之后发现自己在内部类上Misc,它只是将它传递给configure方法.至于你关于效率的问题,第一种方法可能稍微快一些,因为它不需要解释得那么多,但速度差异太小而不能过分关注.
| 归档时间: |
|
| 查看次数: |
34 次 |
| 最近记录: |