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

Пребарај: #janaf

当前筛选 #janaf清除筛选
Новости из Сербии

@NewsSerbia · Post #13345 · 20.03.2026 г., 10:54

Хорватский оператор нефтепровода JANAF (Jadranski naftovod) официально сообщил о получении разрешения от американского Управления по контролю за иностранными активами (OFAC) на продолжение исполнения контракта по транспортировке сырой нефти для компании «Нефтяная индустрия Сербии» (NIS). Новая лицензия позволяет осуществлять бесперебойную транспортировку нефти до 17 апреля 2026 года. «Мы продолжаем выполнять свои контрактные обязательства, обеспечивая надежный и безопасный транзит сырой нефти при полном соблюдении международного законодательства», – говорится в сообщении компании. Решение принято на основании действующего долгосрочного договора между JANAF и НИС, который рассчитан на период до 31 декабря 2026 года и предусматривает прокачку до 10 млн тонн сырья. Полученная нефть обеспечит работу нефтеперерабатывающего завода в Панчево и гарантирует ритмичное снабжение рынка нефтепродуктами. #Хорватия#JANAF#Сербия#НИС @NewsSerbia

Новости из Сербии

@NewsSerbia · Post #13155 · 06.03.2026 г., 08:27

JANAF: Группа MOL через нас может получать только нероссийскую нефть Венгерская MOL и её словацкая «дочка» Slovnaft подали жалобу в Еврокомиссию на хорватскую JANAF. Компании обвиняют оператора Адриатического трубопровода в злоупотреблении монополией. Они утверждают, что JANAF блокирует транзит российской нефти и с 2022 года завышает тарифы в 3–4 раза. В ответ JANAF заявила, что условия равны для всех, а поставки в регион вне угрозы. В хорватской компании подчеркнули: претензии MOL – это попытка сохранить выгоду от импорта дешёвой подсанкционной нефти из РФ. В JANAF указали, что их мощностей хватит для обеспечения соседей нероссийским сырьем. Спор обостряется на фоне сделки: MOL подписала соглашение с «Газпром нефтью» о покупке 56,15% акций «Нефтяной индустрии Сербии» (НИС). Продажа, намеченная до 31 марта 2026 года, должна вывести сербскую компанию из-под санкций США, из-за которых НПЗ в Панчево ранее уже сталкивался с блокировкой поставок через JANAF. #Хорватия#JANAF#MOL#Сербия#НИС @NewsSerbia