TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

Пронајдени 21 слични објави

Пребарај: #partners

当前筛选 #partners清除筛选
U.S. Central Command

@U_S_CENTCOM · Post #683 · 22.09.2024 г., 09:50

Qatar Emiri Air Force partner with usairforce to enhance Coalition interoperability in the U.S. Central Command (CENTCOM) area of responsibility USAFCENT #People#Partners @U_S_CENTCOM

U.S. Central Command

@U_S_CENTCOM · Post #681 · 21.09.2024 г., 14:30

A Royal Bahraini Air Force F-16 receives fuel from a USAFCENT KC-135 Stratotanker during Exercise Ballast Cannon over the U.S. Central Command area of responsibility #People#Partners @U_S_CENTCOM

U.S. Central Command

@U_S_CENTCOM · Post #676 · 19.09.2024 г., 13:02

Norwegian Service Members under CJTFOIR conduct close quarters battle (CQB) training to maintain readiness and proficiency while advising, assisting, and enabling partner forces in the U.S. Central Command Area of Responsibility (CENTCOM AOR). #People#Partners @U_S_CENTCOM

U.S. Central Command

@U_S_CENTCOM · Post #670 · 17.09.2024 г., 12:28

The USArmy partner with Iraqi Army Soldiers to share military knowledge and expertise during a live fire training exercise in the U.S. Central Command Area of Responsibility (CENTCOM AOR). #People#Partners @U_S_CENTCOM

U.S. Central Command

@U_S_CENTCOM · Post #664 · 14.09.2024 г., 22:31

The USMC partner with Jordanian female engagement team members to share military operational knowledge and expertise during an exchange in the U.S. Central Command area of responsibility (CENTCOM AOR). #People#Partners @U_S_CENTCOM

28 мая 2025 года в рамках форума The Trends Проектный офис международного молодёжного сотрудничества «Россия – БРИКС» стал соорганизатором панельной сессии «Новые горизонты: как технологии, креатив и лидерство формируют будущее общества». 💎Спикеры из Бразилии, Индии, ЮАР и Узбекистана представили успешные практики развития креативных индустрий. Их выступления подчеркнули значимость креативности, цифровой трансформации и международного сотрудничества для устойчивого развития. Особая благодарность партнёрам из Проектного офиса «Россия – БРИКС» за организацию, приглашение международных спикеров и создание вдохновляющей площадки для обмена опытом. #thetrends #partners

ВетАпекс

@vet_apex · Post #869 · 26.01.2026 г., 04:03

🔸 Кафедра Гастроэнтерологии «Хронический гепатит собак» Алёна Семёнова 👉Архив лекций ℹ️Генеральный спонсор кафедры Гастроэнтерологии Образовательный центр МЕДВЕТ ℹ️при поддержке научного партнёра PARTNERS #vetapex#гастроэнтерология#медвет@medvet_education#partners

ВетАпекс

@vet_apex · Post #861 · 14.01.2026 г., 04:00

🔸 Кафедра Гастроэнтерологии «Холангиогепатит кошек» Алёна Семёнова 👉Архив лекций ℹ️Генеральный спонсор кафедры Гастроэнтерологии Образовательный центр МЕДВЕТ ℹ️при поддержке научного партнёра PARTNERS #vetapex#гастроэнтерология#медвет@medvet_education#partners

ВетАпекс

@vet_apex · Post #846 · 25.12.2025 г., 04:00

🔸 Кафедра Гастроэнтерологии «Запоры» Алёна Семёнова 👉Архив лекций ℹ️Генеральный спонсор кафедры Гастроэнтерологии Образовательный центр МЕДВЕТ ℹ️при поддержке научного партнёра PARTNERS #vetapex#гастроэнтерология#медвет@medvet_education#partners

ВетАпекс

@vet_apex · Post #838 · 12.12.2025 г., 04:04

🔸 Кафедра Гастроэнтерологии «Портосистемные аномалии» Алёна Семёнова 👉Архив лекций ℹ️Генеральный спонсор кафедры Гастроэнтерологии Образовательный центр МЕДВЕТ ℹ️при поддержке научного партнёра PARTNERS #vetapex#гастроэнтерология#медвет@medvet_education#partners

ВетАпекс

@vet_apex · Post #808 · 27.11.2025 г., 04:02

🔸 Кафедра Гастроэнтерологии «Пациент с панкреатитом» Алёна Семёнова 👉Архив лекций ℹ️Генеральный спонсор кафедры Гастроэнтерологии Образовательный центр МЕДВЕТ ℹ️при поддержке научного партнёра PARTNERS #vetapex#гастроэнтерология#медвет@medvet_education#partners

ВетАпекс

@vet_apex · Post #785 · 13.11.2025 г., 04:03

🔸 Кафедра Гастроэнтерологии «Энтеропатия с потерей белка. Так ли нужен длительный курс ГКС? Мой клинический опыт» Алёна Семёнова 👉Архив лекций ℹ️Генеральный спонсор кафедры Гастроэнтерологии Образовательный центр МЕДВЕТ ℹ️при поддержке научного партнёра PARTNERS #vetapex#гастроэнтерология#медвет@medvet_education#partners

12
ПретходнаСтраница 1 од 2Следна