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 слични објави

Пребарај: #nowruz2026

当前筛选 #nowruz2026清除筛选
Russian MFA 🇷🇺

@MFARUSSIA · Post #28794 · 19.03.2026 г., 23:03

🌱 Today marks International Nowruz Day, a celebration that heralds the first day of spring and the renewal of nature. #Nowruz (from Middle Persian “new day”) is one of the world’s oldest holidays. Its roots trace back to ancient Persia, where it symbolised the start of a new life cycle, the triumph of light over darkness, and the renewal of nature. The holiday gained particular significance during the rule of the Achaemenid Dynasty in the 5th -4th centuries BCE. 🌏For more than 3,000 years now, Nowruz has remained an important part of cultural traditions of many peoples. Today, it is celebrated by over 300 million people across Central Asia, the Caucasus, the Middle East, the Balkans, and beyond. In many countries, including Azerbaijan, Albania, Georgia, Kazakhstan, and Tajikistan, it is recognised as a national holiday. In 2009, UNESCO included Nowruz on the Representative List of the Intangible Cultural Heritage of Humanity, and March 21 was officially declared International Nowruz Day. Nowruz is not only a spring festival but also a time to cherish peace, mutual respect, and care for the loved ones. It brings together people of different cultures, religions, and ethnicities, reminding us of the importance of renewal not only in nature, but also in our thoughts, deeds, and relationships with others. 🎉 We wish everyone celebrating this bright holiday a joyful spring. May it bring renewal, happiness, success, and prosperity. #Nowruz2026

TezJet

@flytezjet · Post #2598 · 21.03.2026 г., 08:17

🇷🇺 С праздником Нооруз! Пусть ваш год будет полон безопасных путешествий и счастливых www.flytezjet.com 🇰🇬 Нооруз майрамыңыз менен! Жылыңыз коопсуз сапарларга жана ийгиликтүү конууларга толо болсун. www.flytezjet.com 🇬🇧 Happy Nowruz! May your year be full of safe travels and happy landings. www.flytezjet.com #TezJet#FlyTezJet#NewYearNewJourneys#TravelWithTezJet#Nowruz2026