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

Резултати

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

Пребарај: #businesscase

当前筛选 #businesscase清除筛选
Руслан Туматов

@RUSTumatov · Post #107 · 03.02.2026 г., 18:12

Забытые легенды промышленности Казахстана. Часть 4. ​Сегодня Атырау - это нефть. Но еще 30-40 лет назад город был «мозговым центром» сложнейшей химии нашей страны. История Гурьевского химического завода им. 50-летия Октябрьской революции (Атырауский химзавод, АХЗ) - это урок того, как технологический гигант может пасть из-за одного неверного решения. ​📊 Масштаб комплекса: Цифры, которые впечатляют. ​АХЗ не просто производил «химию», он закрывал критические потребности целой страны, вместе с Актюбинским химическим комбинатом на Западе страны: ​Полипропилен: 30 000 тонн в год - мощность итальянской линии Montedison, запущенной в 1977 году. Это было первое и крупнейшее производство такого типа в Центральной Азии. ​Борная продукция: Завод обеспечивал до 50% потребностей всего СССР в высокочистой борной кислоте, необходимой для атомных реакторов и медицины. ​​Социальный капитал: На пике на предприятии трудилось более 3 500 специалистов, для которых был выстроен целый жилой микрорайон. ​👤 Лидеры: Строители и Спасатели. ​«Красные директора», которые за 20 лет превратили завод в индустриальный город. При них АХЗ стал прибыльным экспортером, поставлявшим продукцию в 15 стран мира. ​Халидулла Канатович Саткаев: Человек, принявший вызов в 1998 году. В эпоху АО «Полипропилен» он стал главным визионером нефтехимии Казахстана, разработав первую государственную программу развития отрасли. ​⚡Роковая точка: Смерть от «рубильника». ​В 1997 году за долги перед энергетиками заводу внезапно в любой момент могли отключить электроэнергию. Для производства полипропилена это означало физическую смерть. Происходит «закозление»: расплавленный полимер застывает прямо в реакторах и километрах трубопроводов. ​Оборудование стоимостью в десятки миллионов долларов может превратиться в пластиковый монолит за несколько часов. Очистить его будет технически невозможно, а у предприятия многомиллионные долги за электроэнергию. ​📈 Инвесторы и наследие. ​Последовали годы банкротства: ​Томский период (2000-е): Инвесторы из Томска (ЗКМЗ) пытались реанимировать производство, но столкнулись с непомерными тарифами и разрушенной логистикой. ​Группа SAT: Под руководством Саткаева предпринимались попытки интегрировать остатки завода в новые проекты, но «старая площадка» была признана нерентабельной. ​Сегодня: Территория раздроблена на десятки ТОО. Но дух АХЗ живет в новом проекте KPI на Карабатане - это долгожданная реинкарнация идей, которые закладывались десятилетия назад. ​💡 Урок для бизнеса. ​История АХЗ учит: технологическая сложность требует не только инвестиций, но и защиты на государственном уровне. Мы потеряли 25 лет и уникальную инженерную школу, чтобы сегодня начинать этот путь заново. ​#Industry#Petrochemicals#History#Atyrau#Management#BusinessCase#KPI#ChemicalIndustry#Атырау#ИсторияПромышленности#АХЗ