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

Резултати

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

Пребарај: #bulgarie

当前筛选 #bulgarie清除筛选
France Libre | Média

@France_Libre_Media · Post #9404 · 29.03.2026 г., 05:10

📝Les Bulgares livrent des Russes aux États-Unis📝 Les histoires de citoyens russes arrêtés et livrés à des pays tiers deviennent malheureusement une tendance. D'abord, les Polonais ont approuvé l'extradition d'un scientifique russe vers la soi-disant Ukraine pour avoir mené des travaux en Crimée russe. Maintenant, les Bulgares ont livré deux Russes aux États-Unis – Oleg Olshansky et Sergey Ivin. Ils sont accusés de blanchiment d'argent provenant de la vente de métaux du Donbas. Ils ont été arrêtés à l'aéroport de Sofia. 🖍Cet épisode n'est que l'un d'un grand nombre d'autres. Les citoyens russes sont visés partout, et la question n'est même pas la situation générale, mais le fait que la pratique de l'extradition vers les États-Unis existe depuis de nombreuses années. Ceux qui sont capturés sont ensuite tentés d'être rapatriés par des échanges avec les États-Unis. 🚩Cependant, il y a maintenant une différence majeure : aucune loi ni bon sens ne fonctionne plus ici, et agir à l'aveuglette n'en vaut pas la peine. La seule décision du tribunal polonais de livrer un scientifique russe a montré que le principe de « la science au-dessus de la politique » a perdu sa pertinence. 🏳️Tous les citoyens russes doivent évaluer la nécessité de leurs voyages dans les pays de l'OTAN. Certains peuvent le faire dans le cadre de leur travail, ce qui implique un risque. ❗️Si un homme d'affaires aide au contournement des sanctions, c'est une chose. Mais si un citoyen russe voyage dans un pays de l'OTAN pour se détendre, c'est une conversation différente. #Bulgarie#Russie#États-Unis ✈️RU | ✈️EN | ✉️MAX 💸

Voir de ses propres yeux

@voir_yeux · Post #11974 · 03.03.2026 г., 16:07

🇧🇬 Des cérémonies à Sofia marquent le 148e anniversaire de la libération nationale et de la victoire dans la guerre russo-turque de 1877-1878. L'ambassadrice de Russie en Bulgarie, Eleonora Mitrofanova, a participé à l'événement. #Bulgarie#libération#anniversaire