Уведомления

Группа в Telegram: @pythonsu

#1 сегодня 14:48:21

xkein
Зарегистрирован: 2020-09-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Ссылка на атрибут класса через переменную

(не уверен, что правильно назвал тему )
есть экземпляр класса (диалогового окна ), созданный командой
inputDialog = employ_request_wind()
в частности в данном случае команда
print('inputDialog:', type(inputDialog), inputDialog)
выведет:

inputDialog:
<class ‘__main__.employ_request_wind’>
<__main__.employ_request_wind(0x1cf6f53c8b0, name=“Dialog”) at 0x000001CF6CE41C80>

нужно создать ссылку на виджет одного поля, содержащего в данном классе окна
например - поле employ
синтаксически (“ручной код ”) будет просто через точку
inputDialog.employ
тогда
print('inputDialog.employ: ‘, type(inputDialog.employ), inputDialog.employ)

inputDialog1.employ:
<class ’PySide6.QtWidgets.QComboBox'>
<PySide6.QtWidgets.QComboBox(0x1cf6f53bff0, name=“employ”) at 0x000001CF6CE7A600>

как построить программно это выражение , когда поле содержится переменной?

т.е.
если руками, то inputDialog.employ
а как это сделать через переменную ?
если экземпляр класса в inputDialog , а поле в переменной field = ‘employ’ - > как написать выражение, чтобы результат был аналогичным записи inputDialog.employ ?

Офлайн

#2 сегодня 15:12:37

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2801
Репутация: +  185  -
Профиль   Отправить e-mail  

Ссылка на атрибут класса через переменную

Не нужно делать таких вещей, это ведёт к сильной связанности между частями программы. Но ты же всё равно не будешь меня слушать и продолжишь заниматься глупостями, по этому вот так:

 var = "employ"
employ = getattr(inputDialog, var)



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#3 сегодня 15:26:26

xkein
Зарегистрирован: 2020-09-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Ссылка на атрибут класса через переменную

спасибо, попробую!
насчет глупостей - не спорю, этот способ взял из учебных примеров, там такого много мусолится ..
не дадите ссылку на примеры, где есть более традиционное решение ?

Офлайн

#4 сегодня 17:14:13

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2801
Репутация: +  185  -
Профиль   Отправить e-mail  

Ссылка на атрибут класса через переменную

Нужно не смотреть примеры, а изучать ООП и практиковаться. Без этого нормальным разработчиков мне стать. Почитай книгу Грэди Буч “Объектно-ориентированный анализ и проектирование с примерами приложений” она наиболее адекватна. Там примеры на C++ на это внимание не обращай тебе они не нужны.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#5 сегодня 18:46:58

xkein
Зарегистрирован: 2020-09-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Ссылка на атрибут класса через переменную

неожиданный совет, думал, что эту книгу давно можно выбросить

Офлайн

#6 сегодня 19:57:30

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2801
Репутация: +  185  -
Профиль   Отправить e-mail  

Ссылка на атрибут класса через переменную

Вот когда ООП устареет, тогда и можно будет её выбросить. А сейчас она более чем актуальна.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version