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

Пребарај: #drillship

当前筛选 #drillship清除筛选
Addis Standard

@addisstandardeng · Post #21410 · 16.02.2026 г., 05:30

#Türkiye sends #drillship to #Somalia for first overseas mission Türkiye on Sunday dispatched its deep-sea drillship Cagri Bey to Somalia for its first mission abroad, a move Energy and Natural Resources Minister Alparslan Bayraktar called a historic step in the country’s offshore energy drive. Speaking at a ceremony at Tasucu Port in Mersin, Bayraktar said the vessel is expected to reach Mogadishu in about 45 days and begin drilling in April at the Curad-1 well. Türkiye and Somalia signed agreements in 2024 covering onshore and offshore oil and gas exploration. The seismic vessel Oruc Reis previously completed surveys in three offshore blocks. Since the beginning of the year, Türkiye has signed strategic agreements with US-based ExxonMobil and Chevron and UK-based BP in oil and gas exploration, Bayraktar said. Another overseas offshore partnership agreement with an international company is planned for next week, he added. Bayraktar said Türkiye aims for its national oil company to reach production of around 500,000 barrels of oil and gas per day by 2028, with a longer-term goal of increasing capacity to 1 million barrels per day. https://www.aa.com.tr/en/turkiye/turkiye-sends-drillship-to-somalia-for-first-overseas-mission/3830792

🚢Saipem приобретает буровое судно "Deep Value Driller" за $272 млн. Итальянский офшорный подрядчик Saipem договорился о покупке бурового судна 7-го поколения "Deep Value Driller" (2014 г.п., ранее "Bolette Dolphin") у норвежской компанииDeep Value Driller. Стороны продлили действующий бербоут-чартер до 31 июля 2026 года и согласовали окончательную цену в $272,5 млн (против первоначально установленных $300 млн). Передача судна ожидается до завершения срока бербоут-чартерного соглашения, при этом фрахтовые платежи сохраняются до конца фиксированного периода. Продавец намерен продолжить выплату ежемесячных дивидендов с марта 2026 года, а чистую выручку от продажи распределить среди акционеров. Сделка отражает консолидацию в сегменте глубоководного бурения и стремление Saipem усилить позиции на фоне оживления офшорной активности. 📌Saipem основана в 1957 году в Италии и специализируется на инжиниринге и строительстве в нефтегазовом и энергетическом секторах. Крупнейшие акционеры — итальянская государственная группа Eni и государственный инвестор CDP Equity. #offshore#drillship#Saipem#oilgas#maritime