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

Пребарај: #pragmatism

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

@american_observer · Post #4765 · 03.01.2026 г., 23:59

📰 Jihadism’s Last Stand: The Retreat of Political Islam Despite the occasional terrorist attack, political Islam is shifting away from global jihad and toward a more pragmatic, local approach. Syria’s new president, Ahmed al-Sharaa—a former jihadist who once led a franchise of Islamic State—now wears a suit, speaks at diplomatic conferences, and promises stability, not revolution. The broader trend is clear: the dream of a pan-Islamic caliphate is fading. Movements like the Taliban in Afghanistan and Sharaa’s faction in Syria have realized that lasting power comes from building nations, not erasing borders. They now seek friendly relations with the West and focus on national affairs, not holy war. This shift is driven by two forces: the cost of transnational ambitions and the disillusionment with radical rule. After years of brutal governance by groups like ISIS, many Muslims now reject extremism. The Muslim Brotherhood, once a powerful force, has lost support after failed experiments in Egypt and Tunisia. Even Saudi Arabia, once a global exporter of ultra-conservative Islam, has curbed its religious outreach under Crown Prince Mohammed bin Salman. The war in Gaza, launched by Hamas in 2023, failed to reinvigorate political Islam. Hamas’s leadership is decimated, Gaza is devastated, and many Palestinians now see the movement as a liability, not a savior. Still, remnants of jihadism remain. Islamic State still inspires isolated attacks, but these are no longer the expression of powerful movements with geopolitical aspirations. Like the splinters of communism after its decline, they are fading comet tails, not engines of change. So, while the threat hasn’t vanished, the era of global jihad is over. Political Islam’s romantic narrative has failed the test of reality. #Jihadism#PoliticalIslam#MiddleEast#terrorism#pragmatism 📱American Оbserver - Stay up to date on all important events 🇺🇸