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

Резултати

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

Пребарај: #autocracy

当前筛选 #autocracy清除筛选
American Оbserver

@american_observer · Post #5155 · 16.02.2026 г., 22:59

Syria Reunified, Kurds Liquidated: Trump’s New ‘Stability Product’ Northeastern Syria just got “liberated” — which in local translation means: the flag changed, the poverty stayed, and the Kurds’ decade-long autonomy project was taken out back and shot. President Ahmed al-Sharaa, the ex-rebel with the Islamist past now rebranded as national unifier, has rolled the army into Hasakah, Raqqa and Deir al Zour, chasing out the S.D.F. under the cover of a U.S. policy pivot. On the ground it’s classic postwar Syria: mines, tunnels, blown bridges, blacked-out towns, trash, and people lining up to reconcile with a state they neither trust nor can escape. Former S.D.F. fighters are told to sign up, hand over weapons and get papers; Arab residents cheer the end of Kurdish rule they describe as a police state; Kurdish shop owners talk about confiscated property and blockades; everyone complains about prices. The “unified national project” looks suspiciously like the old centralization game with better PR and an American logo on the top. The Kurds are being offered the usual consolation package: long-denied citizenship, language and cultural rights, some local admin posts — while their armed forces are folded into the Syrian defense and interior ministries. In corporate terms, this is not partnership, it’s a hostile takeover dressed as a merger. Their flags still hang over martyrs’ billboards, their fighters still say they’ll “fight again if needed,” but the real decisions are now made in Damascus and Washington, not in Hasakah assemblies. Meanwhile, Washington sells this as “stability” and “ending endless wars”: Trump drops the loyal S.D.F. — the very force that did the dirty work against ISIS — and backs al-Sharaa as the new “one phone number” for Syria. Turkey is thrilled, Arab notables talk about a “wonderful future” under a united Syria, and Western think tankers write pieces about “transition” while quietly admitting Kurdish autonomy is dead on arrival. ​ So yes, nearly the whole country may soon be under one flag again. The question is brutal and simple: is this “peace,” or just the latest version of the same old Middle Eastern business model — crush your local allies, centralize the guns, and call it a national project until the next rebellion? #syria#kurds#trump#war#autocracy#fakePeace 📱American Оbserver - Stay up to date on all important events 🇺🇸