Таким образом, я взял ответы от этого вопроса и другой вопрос и подошел ниже. Я подозреваю, что это не pythonic достаточно для большинства людей, но я действительно хотел что-то, что позволяет мне получить глубокое представление значений, которые имеет некоторая неизвестная переменная. Я ценил бы любые предложения о том, как я могу улучшить это или достигнуть того же легче поведения.
def dump(obj):
'''return a printable representation of an object for debugging'''
newobj=obj
if '__dict__' in dir(obj):
newobj=obj.__dict__
if ' object at ' in str(obj) and not newobj.has_key('__type__'):
newobj['__type__']=str(obj)
for attr in newobj:
newobj[attr]=dump(newobj[attr])
return newobj
Вот использование
class stdClass(object): pass
obj=stdClass()
obj.int=1
obj.tup=(1,2,3,4)
obj.dict={'a':1,'b':2, 'c':3, 'more':{'z':26,'y':25}}
obj.list=[1,2,3,'a','b','c',[1,2,3,4]]
obj.subObj=stdClass()
obj.subObj.value='foobar'
from pprint import pprint
pprint(dump(obj))
и результаты.
{'__type__': '<__main__.stdClass object at 0x2b126000b890>',
'dict': {'a': 1, 'c': 3, 'b': 2, 'more': {'y': 25, 'z': 26}},
'int': 1,
'list': [1, 2, 3, 'a', 'b', 'c', [1, 2, 3, 4]],
'subObj': {'__type__': '<__main__.stdClass object at 0x2b126000b8d0>',
'value': 'foobar'},
'tup': (1, 2, 3, 4)}
В WPF строка заголовка является частью неклиентской области, которую нельзя изменить с помощью класса окна WPF. Вам нужно манипулировать дескрипторами Win32 (если я правильно помню).
Эта статья может быть вам полезна: Пользовательское окно Chrome в WPF .
Вы также можете создать окно без полей и самостоятельно сделать границы и строку заголовка