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

Резултати

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

Пребарај: #aviatur

当前筛选 #aviatur清除筛选

✈️🌍 Aviatur: Приход Qatar Airways и Emirates оживляет авиарынок Колумбии Колумбийская туристическая компания Aviatur считает, что выход на рынок страны авиакомпаний Qatar Airways и Emirates значительно улучшает перспективы авиационного сектора. Это расширяет возможности для пассажиров, предлагая более конкурентоспособные тарифы, повышенный комфорт и качественное обслуживание. Ранее, в ноябре 2024 года, сообщалось, что Qatar Airways получила разрешение на выполнение ежедневных рейсов из Дохи в Боготу, начиная с 2025 года. Это предложение ориентировано на пассажиров, ищущих роскошные перелеты и удобные стыковки с регионами Ближнего Востока, Азии и Африки. По мнению представителей туристической отрасли, такие изменения способствуют росту международного туризма и открывают новые горизонты для колумбийских путешественников. #Aviatur#QatarAirways#Emirates#Колумбия#Авиаперевозки#Туризм#МеждународныеРейсы 👉Всегда свежие новости о странах Латинской Америки!

🇨🇴 Колумбия: Глава Aviatur назвал трудовую реформу шансом для обновления туристической отрасли Президент крупнейшей туристической группы Колумбии Aviatur, Жан Клод Бессудо, прокомментировал трудовую реформу, предложенную президентом Петро, подчеркнув, что она открывает новые возможности для отрасли — при условии грамотного внедрения. Откуда растут корни реформы Предложенная трудовая реформа — часть более широкой повестки президента Петро по построению социально ориентированной экономики, в которой приоритет отдается правам работников, борьбе с неформальной занятостью и повышению социальной защиты. Туристическая отрасль, как один из крупнейших работодателей в сфере услуг, неизбежно попадает в фокус изменений. Позитивные стороны реформы • Установление 8-часового рабочего дня придаст туристическому сектору больше социальной устойчивости и привлекательности как работодателя. • Повышение стандартов труда укрепит доверие со стороны работников и поможет привлечь молодых специалистов. • Новый подход создаёт стимул для модернизации бизнес-моделей, внедрения технологий и более эффективного управления персоналом. Вызовы и рекомендации Бессудо отметил, что для небольших агентств важно получить поддержку на переходный период, чтобы они могли адаптироваться без ущерба для клиентов и сотрудников. Он призвал к гибкому регулированию, которое позволит сохранить рабочие места и одновременно двигаться к более справедливым условиям труда. «Мы должны видеть в реформе не только трудности, но и потенциал для роста и перемен. Это шанс пересобрать туристическую отрасль в более устойчивом и прогрессивном формате» — заявил Бессудо. #Колумбия#Aviatur#ЖанКлодБессудо#Туризм#РеформаПетро#ПозитивныеИзменения#ЛатинскаяАмерика#БизнесВЛатаме#ТрудоваяРеформа 👉Всегда свежие новости о странах Латинской Америки!