MCPcopy Index your code
hub / github.com/PyQt5/PyQt / bind

Method bind

Demo/Lib/qpropmapper.py:161–188  ·  view source on GitHub ↗
(self, widget: QWidget, key: str, default: Any = None, prop: str = "")

Source from the content-addressed store, hash-verified

159 return None
160
161 def bind(self, widget: QWidget, key: str, default: Any = None, prop: str = ""):
162 # 1. 记录widget和key
163 if widget not in self._widgetKey:
164 self.__log(
165 f"[bind]: bind key: {key} to widget: {self.__widgetInfo(widget)}"
166 )
167 self._widgetKey[widget] = {
168 "key": key,
169 "prop": self.getProperty(widget, prop),
170 }
171 # 2. 设置控件的默认值
172 with self:
173 self.__setValue(widget, key, default)
174
175 # 3. 记录所有关联的widget
176 if key not in self._keyWidget:
177 self._keyWidget[key] = set()
178 self._keyWidget[key].add(widget)
179
180 # 4. 绑定widget的相关信号
181 for signal in self.Signal:
182 signal = getattr(widget, signal, None)
183 if signal:
184 self.__log(
185 f"[bind]: connect key: {key}, signal: {signal} of widget: {self.__widgetInfo(widget)}"
186 )
187 signal.connect(self.__setData)
188 break
189
190 def __log(self, *args):
191 if self.Verbose:

Callers 1

__init__Method · 0.45

Calls 4

__logMethod · 0.95
__widgetInfoMethod · 0.95
getPropertyMethod · 0.95
__setValueMethod · 0.95

Tested by 1

__init__Method · 0.36