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

Резултати

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

Пребарај: #moldavia

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

@ULTIMORAPOLITICS · Post #45152 · 03.11.2024 г., 21:35

❗️🇲🇩#Moldavia — La candidata europeista Maia Sandu vince le elezioni presidenziali, decisivo il voto della diaspora. Battuto il filo-russo Stoianoglo @UltimoraPolitics

Hashtags

🇷🇺🇲🇩 Antes de que el embajador ruso en Moldavia, Oleg Ozerov, se presentara ante el Ministerio de Exteriores moldavo, empleados de esa institución diplomática quisieron montar un show, colocando en las escaleras de la entrada al dron que supuestamente se estrelló en el techo de una casa en ese país, para quizás molestar al diplomático ruso. A nuestro parecer, esta gente simplemente demostró gráficamente cómo el dron realmente terminó en el techo. #moldavia ——— Únete a la lucha por la verdad en 📱Telegram 📱YouTube 📱X (Twitter)

Hashtags

Il valore della giustizia⚖️

@giurisprudentia · Post #341 · 20.10.2021 г., 12:37

#MOLDAVIA La presidente Maia Sandu ha annunciato la ratifica, da parte della Moldavia, della Convenzione di Instanbul sulla prevenzione e la repressione della violenza contro le donne e della violenza domestica. In presenza della sola firma, lo Stato moldavo non si riconosceva come vincolato al rispetto delle disposizioni previste dal Trattato. La scelta di procedere alla ratifica dell’accordo, sollecitata dalla Commissaria Europea per i diritti umani del Consiglio d’Europa Duna Mijatović in una visita alla presidente Sandu, si inserisce in un disegno di riforme finalizzate a garantire un progressivo avvicinamento della Repubblica moldava ai partner individuati in Occidente. 👉@giurisprudentia

Hashtags

🇲🇩 Nueva escena montada con drones rusos, esta vez en Moldavia Las autoridades de Moldavia declararon que 6 drones rusos cruzaron el espacio aéreo del país esta noche durante un ataque ruso contra objetivos en Ucrania. Para darle más dramatismo a la situación, las autoridades moldavas mostraron sus 'pruebas': un dron ruso que 'se estrelló' sobre el tejado de una casa en el pueblo de Cuhurești-de-Jos del distrito de Florești. Lo más cómico del asunto es que el dron está posado sobre el techo como si nada, sin siquiera haber roto ni una teja. Para que se hagan una idea de lo absurdo que es esta historia: el peso de un dron Gerbera ronda los 20 kg —por las similitudes podemos presumir que posiblemente se trate de un dron de ese modelo—, y se supone que por algún desperfecto el dron perdió altura y cayó ileso sobre la casa sin dañar siquiera el tejado. Todo tiene pinta de que fue puesto intencionalmente en el sitio para montar un escándalo al estilo de los drones rusos en Polonia. #moldavia#rusia ——— Únete a la lucha por la verdad en 📱Telegram 📱YouTube 📱X (Twitter)

Tutto Elezioni

@tuttoelezioni · Post #1228 · 28.09.2025 г., 16:04

#Moldavia🇲🇩 #Parlamentari Ore 18:00 italiane (19:00 ora locale). Affluenza parziale: 48,54%. Aree con le affluenze maggiori: - Municipio di Chișinău: 50,61% — Settore Centru: 53,14% — Settore Rîscani: 51,28% — Settore Buiucani: 50,93% — Settore Botanica: 49,86% — Settore Ciocana: 49,62% — Periferia: 49,73% - Criuleni: 47,75% - Dondușeni: 46,49% Aree con le affluenze minori: - Hîncești: 37,74% - Cantemir: 35,49% - Briceni: 36,37% Nota: il prossimo dato comparativo verrà fornito alla chiusura dei seggi (20:00 ora italiana, 21:00 ora locale). @TuttoElezioni

Tutto Elezioni

@tuttoelezioni · Post #1226 · 28.09.2025 г., 13:23

#Moldavia🇲🇩 #Parlamentari Ore 15:20 italiane (16:20 ora locale). Affluenza parziale: 40,20%. Aree con le affluenze maggiori: - Municipio di Chișinău: 41,40% — Settore Centru: 43,44% — Settore Rîscani: 41,99% — Settore Buiucani: 41,98% — Settore Botanica: 40,79% — Settore Ciocana: 40,73% — Periferia: 40,31% - Dondușeni: 38,98% - Criuleni: 38,82% Aree con le affluenze minori: - Hîncești: 31,20% - Cantemir: 29,71% - Briceni: 29,21% Nota: il prossimo dato comparativo verrà fornito alle 17:30 italiane (18:30 ora locale). @TuttoElezioni

ПретходнаСтраница 1 од 5Следна