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

Резултати

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

Пребарај: #robinson

当前筛选 #robinson清除筛选
Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51749 · 25.01.2026 г., 21:15

Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa,…

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51739 · 25.01.2026 г., 09:59

Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa,…

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51737 · 25.01.2026 г., 09:45

Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa,…

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51736 · 25.01.2026 г., 09:29

Tommy #Robinson, animatore dell'ultradestra extraparlamentare anti-migranti e anti-islamica in #UK: "È stato un onore per me stringere la mano a un uomo al quale ho guardato fin dall'inizio del mio attivismo, un leader coraggioso, un uomo forte d'Europa, il vicepremier italiano Matteo #Salvini" (ANSA) @UltimoraPolitics24

Trump's Ear

@trumpsear_tg · Post #1529 · 18.09.2025 г., 16:01

Tyler Robinson, accused of murdering Charlie Kirk, has an uncle, Mike (Michael) Robinson, who is the former director of Radio Free Ukraine, funded by the United States, and invited veterans of Azov (think of the militant wing of Hamas) to share their experiences. #mike#robinson#azov#kirk 👂More on Trump's Ear ⚠️

Trump's Ear

@trumpsear_tg · Post #1527 · 18.09.2025 г., 14:35

The correspondence of Tyler Robinson, a suspect in the murder of Charlie Kirk, with his transgender lover, with whom he lived, has been published. The name of the roommate is not mentioned. #correspondence#tyler#robinson#suspect #Trump#Democrats 👂More on Trump's Ear ⚠️

🚁Впервые за 15 лет Robinson Helicopter представила новый вертолет! На выставке APSCON Unmanned в Финиксе (штат Аризона) компания Robinson Helicopter Company (RHC) показала публике свою новейшую разработку — вертолет R88🔥 💬 «Ведущий мировой производитель гражданских вертолетов, компания Robinson Helicopter Company (RHC) представила публике совершенно новый вертолет R88 на выставке APSCON Unmanned в Финиксе, штат Аризона.» 🔧R88 — первый полностью новый вертолет Robinson за последние 15 лет. 💬 «Новая модель R88 — самый большой и новейший вертолет компании, созданный за последние 15 лет. Он представляет собой 10-местный одномоторный газотурбинный вертолет, оснащённый двигателем Safran Arriel 2W мощностью 1000 лошадиных сил.» 🚨 Универсальность, надёжность и большая грузоподъёмность делают эту машину отличным выбором для задач общественной безопасности и не только. 📈 «Вертолет R88 будет иметь дальность полета более 650 километров и продолжительность более трех с половиной часов, а его полезная нагрузка составит более 1270 килограммов.» #Robinson#R88#авиация#вертолеты#новинка#гражданскаяавиация#технологии#США#APSCON2025#Safran#инновации🚁🌍🔧