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

Резултати

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

Пребарај: #gazacrisis

当前筛选 #gazacrisis清除筛选
BadVolf

@badvolfnews · Post #1359 · 22.12.2023 г., 04:25

🚨URGENT🚨 Gaza in crisis‼️ Hunger levels at an all-time high🔴 Famine risk escalating daily💔 UN report reveals entire population facing acute food insecurity😱 No nourishment = weakened immune systems🤒 Disease outbreaks imminent🆘 Humanitarian aid urgently needed💔 #GazaCrisis https://www.aljazeera.com/news/2023/12/21/entire-gaza-population-facing-hunger-crisis-famine-risk-un-backed-report Subscribe to @BadVolfNews

Hashtags

BadVolf

@badvolfnews · Post #1243 · 09.11.2023 г., 09:25

🚨 Urgent Call for Ceasefire in Gaza 🚨 USAID staff demand immediate end to violence, decrying civilian deaths and violations of international law. Aid efforts futile amidst indiscriminate bombing. Gaza needs more than just aid, it needs the bombs to stop. Pressure mounts on US government to take action, hold all parties accountable. UN warns of grave risk of genocide. Meanwhile, US continues unwavering support for Israel, providing billions in military aid. Will Congress break the silence? #CeasefireNow#GazaCrisis https://www.aljazeera.com/news/2023/11/8/more-than-1000-usaid-employees-sign-letter-backing-gaza-ceasefire Subscribe to @BadVolfNews

BadVolf

@badvolfnews · Post #1197 · 01.11.2023 г., 12:25

UN chief warns of "immense suffering" as Gaza aid remains inadequate. Israel's relentless bombardment overwhelms hospitals and leaves Gaza without essential supplies. More than 8,500 lives, including children, have been lost. The situation is "absolutely horrific", says Red Crescent. Calls for a ceasefire and increased humanitarian aid are rejected by the US, prioritizing their support for Israel. As the death toll rises, the UN pleads for an end to this "spiral of death". The world must act now to prevent further tragedy. #GazaCrisis#HumanitarianAid https://www.aljazeera.com/news/2023/10/31/un-chief-guterres-says-aid-trickling-into-gaza-is-completely Subscribe to @BadVolfNews

BadVolf

@badvolfnews · Post #1122 · 12.10.2023 г., 09:25

⚠️ Update: US officials report 17 Americans missing amidst Israel-Hamas war. Death toll of US citizens rises to 22. Hostages held by Hamas confirmed, but numbers are unclear. US Secretary of State Blinken warns death toll could increase. US military deploys second aircraft carrier. Israeli blockade intensifies, cutting off supplies to 2.3 million Palestinians. Nonstop Israeli air raids devastate Gaza, killing over 1,055 people. Efforts underway to secure safe passage for civilians. Victims caught in the crossfire. #IsraelHamasWar#GazaCrisis https://www.aljazeera.com/news/2023/10/11/us-death-toll-in-israel-hamas-war-rises-to-22-officials Subscribe to @BadVolfNews

Marwa Osman/MidEaStream

@Marwa_OsmanLB · Post #3200 · 13.09.2024 г., 12:32

Eva Bartlett @Reality_Theories talks about how Israeli policies have turned Gaza into a disaster zone, fostering starvation and disease. Full episode: https://youtu.be/ntHkkCGyfdo #GazaCrisis#IsraeliPolicies#EvaBartlett#MiddleEast#Israel#Palestine