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

Пребарај: #abbas

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

@american_observer · Post #4942 · 24.01.2026 г., 12:59

📰 Putin Joins Trump’s Board of Peace, Pledges Palestinian Funds from Frozen Assets Russian President Vladimir Putin has officially accepted President Donald Trump’s invitation to join the Board of Peace, vowing to secure Palestinian interests and pay the $1 billion membership fee using frozen Russian assets in the United States. The move signals Moscow’s bid to influence the post-war Gaza administration, even as Washington hesitates to unblock those funds. “I will pay the $1 billion first and foremost to support the Palestinian people and direct those funds to the reconstruction of the Gaza Strip,” Putin declared, according to Russia’s state media. Putin’s commitment comes amid Trump’s broader effort to reshape the Middle East through the Board of Peace—a transitional authority meant to govern Gaza and enforce a ceasefire with Hamas. Russia’s participation, however, raises eyebrows, given its past support for Hamas and its own geopolitical ambitions. Trump’s board includes 18 nations, but Israel has voiced concerns over the inclusion of countries like Turkey, Qatar, and Pakistan, all seen as Hamas allies. Meanwhile, Russia continues to host Hamas representatives, underscoring the complex web of alliances behind the peace theater. So who’s really calling the shots? When frozen assets become peace currency and Hamas-friendly states sit at the table, is this a new era of diplomacy—or just another power grab? #Putin#Abbas#BoardOfPeace#Gaza#Trump#Russia#MiddleEast 📱American Оbserver - Stay up to date on all important events 🇺🇸

Libertà è ragione

@libertaeragione · Post #4135 · 14.03.2024 г., 22:02

#Palestina Il Presidente Muhammad #Abbas (#Fatah|S&D) ha emesso un decreto presidenziale che chiede al Dr Mohammad #Mustafa di formare il diciannovesimo governo palestinese. Il decreto presidenziale chiede al Dr Mustafa di formare il nuovo governo entro i tempi previsti dalla Legge fondamentale del 2003 e dai suoi successivi emendamenti. Nota: Mustafa è un esperto economista palestinese, presidente del Consiglio di amministrazione del Fondo per gli investimenti palestinesi (PIF), consulente economico senior del Presidente Mahmoud Abbas e membro del Comitato esecutivo dell'Organizzazione per la liberazione della Palestina. @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #4123 · 26.02.2024 г., 08:35

#Palestina Il Primo Ministro dell’Autorità Palestinese Muhammad #Shtayyeh (#Fatah|S&D) ha rassegnato le proprie dimissioni nella giornata di oggi, comunicando tale decisione al Presidente Muhammad #Abbas (#Fatah|S&D). Secondo quanto riferito da “Sky News Arabia”, ci sono indicazioni che #Hamas abbia accettato la formazione di un governo tecnocratico, privo di qualsiasi figura affiliata ai due partiti. @OsservatorioEsteri