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

Резултати

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

Пребарај: #jubaland

当前筛选 #jubaland清除筛选
Borkena

@borkena · Post #5745 · 26.01.2026 г., 09:06

A Historic Victory in Kuda: Jubaland Security Forces Deliver a Crushing Blow to Al-Shabab. Read. https://borkena.com/2026/01/26/jubaland-a-historic-victory-in-kuda-jubaland-security-forces-deliver-a-crushing-blow-to-al-shabab/#Somalia#Jubaland

Addis Standard

@addisstandardeng · Post #21817 · 24.03.2026 г., 11:41

#Op_ed: Architectonics of Trust: #Somalia’s unilateral constitutional amendments, risk of fragmentation In 2012, Somalia adopted a provisional constitution to guide its transition to a federal system, balancing powers between the central government and regional states. Adam Daud Ahmed warns that recent efforts to finalize it through “non-consensual mechanisms” and “executive-led maneuvers” have reignited tensions, with #Puntland and #Jubaland opposing amendments that “bypass broad consultation.” He emphasizes, “A constitution is not a standard statute; it is the social contract,” and that in a federal system, “legitimacy derives from consensus,” not legality alone. Extending mandates under constitutional reform risks “authoritarian drift” and “undermines the social contract.” According to the author, lasting stability requires “trust, dialogue, and consensus,” with leaders prioritizing “the social contract over their own political survival.” https://addisstandard.com/?p=56029

Addis Standard

@addisstandardeng · Post #21771 · 19.03.2026 г., 11:33

#Op_ed: Converging Geopolitics: Insurgency, recognition, expanding rivalry reshape Horn of #Africa future The Horn of Africa faces “strategic compression,” where local insurgencies and global power rivalries converge along the Red Sea, argues Mohamud A. Ahmed. He notes that recent gains in #Jubaland, where #Somali forces disrupted #Al_Shabaab, show progress but reinforce a key reality: “Territory reclaimed is not stability secured.” He explains that central to this volatility is #Somaliland, whose 2025 recognition by Israel has escalated a local sovereignty dispute into a geopolitical flashpoint involving #Egypt, #Turkey, and #Ethiopia. Ahmed warns that external competition risks fueling insurgent networks and stresses that the Horn’s stability depends on whether regional powers pursue “structured coexistence” rather than unmanaged escalation. https://addisstandard.com/?p=55935