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

Резултати

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

Пребарај: #cultural

当前筛选 #cultural清除筛选

Taipei Performing Arts Center. The long-awaited Taipei Performing Arts Center in Taiwan has been completed by Rem Koolhaas-led studio OMA ahead of the official opening on 7 August 2022. Design architect: OMA Partners-in-Charge: Rem Koolhaas and David Gianotten Executive architect: KRIS YAO | ARTECH Theater consultant: dUCKS Scéno, Creative Solution Integration Ltd Acoustic consultant: Royal HaskoningDHV and Theo Raijmakers. Structure, MEP, building physics, fire engineer: Arup Lighting consultant: Chroma 33 Sustainability consultant: Segreene Design and Consulting Animation: Artefactory Photography: Chris Stowers and Shephotoerd Co. Photography Location: Taiwan #oma#arch_shovel#taiwan#theatres#architecture#cultural

The Vltava Philharmonic Hall. The new Vltava Philharmonic will be built by the Danish architectural studio Bjarke Ingels Group (BIG). BIG plans to complete the new building in 2032. “The Vltava Philharmonic Hall is composed as a meandering journey from riverbank to rooftop. Public flows and belvedere plazas unite the city life of Prague to the music within. Its halls are formed for sight, fine-tuned for sound, and orchestrated for functionality and connectivity. From this rhythmic structure, a symphony of colonnades and balconies extend as platforms for public life. Expressive yet pragmatic, the new Philharmonic will ascend to form a key landmark for Prague - from river to roof.” Bjarke Ingels, Founder & Partner, BIG. #arch_shovel#conpetition#award#cultural#BIG#news#NewsArchitecture

🇺🇿 TIV matbuot kotibi

@TIVmatbuot · Post #333 · 14.01.2025 г., 15:48

ХАЛҚАРО МАЙДОНДА МАДАНИЙ ДИПЛОМАТИЯНИНГ ЎРНИ Юртимиз маданий дипломатияси концепциясида халқимизнинг жаҳонга машҳур тарихий, маданий ва маънавий қадриятлари, Ўзбекистоннинг қадимий меъморчилиги ва ўзига хос анъаналари муҳим ўрин тутади - Озодбек Назарбеков, Ўзбекистон Республикаси маданият вазири. #O'zbekiston #BAA#Маданий дипломатия Batafsil THE ROLE OF CULTURAL DIPLOMACY ON THE INTERNATIONAL STAGE Uzbekistan's cultural diplomacy is rooted in its globally renowned historical, cultural, and spiritual values, as well as its ancient architecture and unique traditions - Ozodbek Nazarbekov, Minister of Culture of the Republic of Uzbekistan. #Uzbekistan#UAE#Cultural diplomacy Read more Veb-sayt | Facebook | Telegram | Instagram | LinkedIn | X | WhatsApp

MessageInABottle

@mib_messageinabottle · Post #7065 · 08.08.2024 г., 21:37

What #Britain is witnessing is the beginning of Dark #Blairism. This is the final stage in the collapse of the country. 🇬🇧🪦🧵 The first iteration of Blairism was a happy-go-lucky affair. #Blair and co were #Marxists of a variety, but happy Marxists who rejected state #socialism and embraced #cultural radicalism - a new, freer society where different groups would live in harmony. ☘🌈❤️ But society rejected this vision. 😭 People had “biases” - a false consciousness of sorts, mostly amongst the uneducated #gammons and chuds. 🤮 They couldn’t get into #Oxbridge to study with Tony, so the state needed to be used to educate them..... 👏 Read More: https://threadreaderapp.com/thread/1821450407979167748.html