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

Пребарај: #israelis

当前筛选 #israelis清除筛选
Trump's Ear

@trumpsear_tg · Post #1425 · 27.08.2025 г., 18:59

Anti-government actions in Israel 🇮🇱 Protesters are blocking the roads 🚧, paralyzing traffic 🛑. Many Israeli Arabs are participating in the demonstration ✊ and are asking for permission to enlist in the army 🪖 and participate in the war against Hamas ⚔️. #arabs#israelis#war#hamas 👂More on Trump's Ear ⚠️

Addis Standard

@addisstandardeng · Post #21271 · 02.02.2026 г., 05:39

News: Protesters gather at #Knesset to demand government facilitate #Ethiopian immigration Demonstrators gathered outside the Knesset on Sunday demanding that the government facilitate the immigration of approximately 10,000 relatives of #Israelis of Ethiopian descent, given ongoing violence and strife in Ethiopia’s #Tigray region. Protesters said the government has halted immigration from Ethiopia and stopped funding for it, demanding that leaders immediately “reallocate funds to resume immigration and bring to Israel those whose situation continues to deteriorate against the backdrop of the civil war in Ethiopia,” according to a statement from the organization, Power for Aliyah, which assists Ethiopian immigrants. The group estimated that roughly 2,000 protesters came from across the country, mostly from the Ethiopian community, many of whom have family members waiting in Ethiopia to.... https://www.timesofisrael.com/protesters-gather-at-knesset-to-demand-government-facilitate-ethiopian-immigration/

MessageInABottle

@mib_messageinabottle · Post #6922 · 24.05.2024 г., 15:56

International Court of Justice (#ICJ ) has finally had enough of #Israelis and their #genocidal actions against the #Palestinians of Gaza It has finally decided to do what #SouthAfrica demanded it should have done months ago: • Demand that the #ZioNazis halt their #genocidal slaughter of innocents in #Gaza and that • Israel must ensure access to Gaza for UN genocide investigators

MessageInABottle

@mib_messageinabottle · Post #7016 · 02.06.2024 г., 14:58

#Irish politician Thomas #Gould (#SinnFein) excoriates the #Israelis in a blistering speech in Irish Parliament: “The world stands by and does nothing while 15,000 #Palestinian children have been #slaughtered..... We saw photos from when the Israelis #burned men, women and children alive.... I hope you burn in hell #Netanyahu!!"