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

Резултати

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

Пребарај: #deepwater

当前筛选 #deepwater清除筛选

🚢Astro Offshore входит в сегмент ультра-глубоководных работ с судном "Astro Atlas". Дубайская Astro Offshore (входит в группу Adani Group) расширила флот, приобретя судно типа MPSV "Energy Savannah" (2021 г. постройки), которое будет переименовано в "Astro Atlas". "Astro Atlas" - стало крупнейшим во флоте компании и открывает доступ к сегменту ультра-глубоководных операций. Судно длиной 97 метров оснащено системой DP2, краном AHC грузоподъемностью 150 тонн, moonpool и рассчитано на размещение до 100 человек. Судно будет работать по чартеру с Oceaneering International, выполняя задачи в области подводных работ — от строительства и монтажа до обслуживания подводной инфраструктуры. С технической точки зрения "Astro Atlas" способно работать на глубинах свыше 3000*** метров, что значительно расширяет операционные возможности компании и позволяет участвовать в более сложных и капиталоемких проектах. С отраслевой точки зрения сделка отражает растущий спрос на высокотехнологичный офшорный флот в сегменте глубоководных работ. Выход **Astro Offshore в этот рынок подчеркивает тренд на расширение географии операций и усиление конкуренции за проекты с высокой добавленной стоимостью. Дополнительно партнерство с Oceaneering демонстрирует важность кооперации между владельцами флота и технологическими подрядчиками для эффективной реализации сложных офшорных проектов. 📌Astro Offshore LLC — основана в 2019 году, частная офшорная компания, входит в индийский конгломерат Adani Group, принадлежащий семье Адани. #offshore#subsea#shipping#deepwater#energy

🚢SLB получила контракты на глубоководное бурение в Индонезии. Международная сервисная компания SLB (бывшая Schlumberger) заключила несколько контрактов с Mubadala Energy на оказание буровых и скважинных услуг в рамках проекта Tangkuloв Андаманском море (Индонезия). Соглашение охватывает полный цикл интегрированных услуг: направленное бурение, буровые растворы, цементирование, каротаж и испытания скважин. Проект предполагает использование технологий SLB для глубоководных операций, включая системы мониторинга в реальном времени, направленные на снижение операционных рисков и оптимизацию размещения скважин. Первый газ на месторождении планируется до конца 2028 года. Для Mubadala Energy - проект Tangkulo является ключевым активом в портфеле Юго-Восточной Азии и стратегическим элементом расширения газового бизнеса. 📌SLB (Schlumberger) основана в 1926 году и является одной из крупнейших в мире нефтесервисных компаний. Компания публичная (NYSE); капитал распределён между институциональными и частными инвесторами. #offshore#deepwater#Indonesia#oilfieldservices#SLB

🚢Shell запускает буровую программу в Египте с судном "Stena IceMax". Британский энергетический гигант Shell начал много-скважинную буровую кампанию в Средиземном море у побережья Египта с использованием судна "Stena IceMax", принадлежащего шотландской компании Stena Drilling. Шестое поколение буровых судов для ультра-глубоководного бурения (2012 г. постройки) способно работать на глубинах до 10 000 футов. Первым этапом станут разработочные скважины Mina West, затем – разведочные проекты Sirius и Velox. Проект Mina West расположен в концессии Northeast El Amriya. Shell владеет 60% и выступает оператором, партнёром является Kuwait Foreign Petroleum Exploration Company (40%). Работы ведутся в координации с Egyptian Natural Gas Holding Company. ✔️ Египет усиливает геологоразведку: до 2030 года планируется бурение 586 нефтегазовых скважин. ✔️ Возврат Shell к активной оффшорной разведке подтверждает стратегическую роль Восточного Средиземноморья. ✔️ Использование современного бурового судна повышает операционную гибкость и снижает риски при глубоководном бурении. Проект отражает тренд на усиление инвестиций в разведку в условиях стабилизации цен и растущего спроса на региональный газ. 📌Shell ведёт историю с 1907 года (слияние Royal Dutch Petroleum и Shell Transport & Trading). Сегодня это одна из крупнейших мировых энергетических компаний, акции котируются в Лондоне и Амстердаме. Структура владения — публичная, крупнейшие акционеры — международные институциональные фонды. #OffshoreDrilling#MediterraneanEnergy#Deepwater#Shell#OilAndGas