Как получить доступ к значениям слева, сверху индивидуально в pywinauto.controls.hwndrapper.rectangle? - PullRequest
1 голос
/ 29 сентября 2019

В pywinauto.rectangle () я получаю позицию на экране окна, которую я устанавливаю set_focus (), а в client_rect () я получаю размер этого окна.

Я хочу взять левое иверхняя часть положения окна на экране, ширина и высота размера окна.

Мне удается получить ширину и высоту с помощью другой функции: w = pywinauto.win32structures.RECT.width (client_rect) h =pywinauto.win32structures.RECT.height (client_rect)

, но я не могу получить доступ к левой и верхней части.


app = controls.hwndwrapper.HwndWrapper(title)
rect = app.rectangle()
# print out
rect (L1293, T6, R1851, B1026)
rect type <class 'pywinauto.win32structures.RECT'>


app = controls.hwndwrapper.HwndWrapper(title)
client_rect = app.client_rect()
# print out
client_rect (L0, T0, R558, B1020)
client_rect type <class 'pywinauto.win32structures.RECT'>


# I cant access like this either:
values = []
app = controls.hwndwrapper.HwndWrapper(title)
rect = app.rect()
values.append(rect)
# print out
values [<RECT L1293, T6, R1851, B1026>]
values type <class 'list'>

# I try this too:
x = values[0]
# prints out:
x (L1293, T6, R1851, B1026)

x = values[1]
# prints out
x = values[1]
IndexError: list index out of range


1 Ответ

0 голосов
/ 30 сентября 2019

Есть только простые атрибуты объекта client_rect:

print(client_rect.left, client_rect.top, client_rect.right, client_rect.bottom)

Также есть дополнительный метод для получения центральной точки прямоугольника:

print(client_rect.mid_point())

Высота и ширинатакже методы:

print(client_rect.width())
print(client_rect.height())
...