我随后尝试操纵w2ui应用程序的菜单和选项卡。 为了实现通用解决方案,我向相关元素添加了一个附加属性(zndesktop)。现在,我正在寻找一种通用方法,该方法可以为我提供具有该属性的所有对象的数组。
当然,我可以对这样的查询进行硬编码。但是我在问是否有通用方法(例如w2ui.objects
)将返回为应用程序创建的所有UI对象的数组(递归搜索)
答案 0 :(得分:0)
w2ui对象实际上使用它们的 File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\branca\element.py", line 113, in add_to
parent.add_child(self, name=name, index=index)
AttributeError: 'str' object has no attribute 'add_child'
直接存储在全局w2ui对象中,直到销毁它们为止。
示例:如果您使用
创建网格import eulerlib
def compute():
DIGITS = 10
primes = eulerlib.list_primes(eulerlib.sqrt(10**DIGITS))
# Only valid if 1 < n <= 10^DIGITS.
def is_prime(n):
end = eulerlib.sqrt(n)
for p in primes:
if p > end:
break
if n % p == 0:
return False
return True
ans = 0
# For each repeating digit
for digit in range(10):
# Search by the number of repetitions in decreasing order
for rep in range(DIGITS, -1, -1):
sum = 0
digits = [0] * DIGITS
# Try all possibilities for filling the non-repeating digits
for i in range(9**(DIGITS - rep)):
# Build initial array. For example, if DIGITS=7, digit=5, rep=4, i=123, then the array will be filled with 5,5,5,5,1,4,7.
for j in range(rep):
digits[j] = digit
temp = i
for j in range(DIGITS - rep):
d = temp % 9
if d >= digit: # Skip the repeating digit
d += 1
if j > 0 and d > digits[DIGITS - j]: # If this is true, then after sorting, the array will be in an already-tried configuration
break
digits[-1 - j] = d
temp //= 9
else:
digits.sort() # Start at lowest permutation
while True: # Go through all permutations
if digits[0] > 0: # Skip if the number has a leading zero, which means it has less than DIGIT digits
num = int("".join(map(str, digits)))
if is_prime(num):
sum += num
if not eulerlib.next_permutation(digits):
break
if sum > 0: # Primes found; skip all lesser repetitions
ans += sum
break
return str(ans)
if __name__ == "__main__":
print(compute())
然后您可以使用name
或$('#grid').w2grid({
name: 'my_grid',
...
});
来访问它。
当然,您也可以像其他任何JS对象一样迭代w2ui.my_grid
对象(或更确切地说,它的属性)。