Установить свойства виджета в 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
NTT планирует втрое увеличить мощности дата-центров в Японии
Компания NTT - крупнейшая телекоммуникационная группа Японии и один из ключевых технологических «каркасов» страны - объявила о масштабном рывке в сторону будущего. К 2033 г. она планирует более чем втрое увеличить мощности своих дата-центров в Японии - с текущих 0,3 до 1 гигаватта. За этим стоит простой, но амбициозный расчёт: бум искусственного интеллекта (ИИ) требует всё больше энергии и вычислений, а значит нужна новая цифровая инфраструктура.
Сеть NTT уже охватывает более 160 дата-центров по всей стране, но компания готовится к расширению: новые объекты могут появиться в префектурах Тиба и Тотиги, а на Хоккайдо мощности частично направят на поддержку производителя передовых чипов Rapidus. Эти планы укладываются в более широкую стратегию укрепления технологической автономии Японии.
Будущие центры обработки данных будут изначально «заточены» под ИИ: жидкостное охлаждение, высокая плотность вычислений и интеграция с фирменной сетью IOWN должны сделать обработку данных быстрее и эффективнее. В центре этой экосистемы - идея суверенитета данных, когда информация и вычисления остаются внутри страны.
NTT также развивает собственные ИИ-модели, включая Tsuzumi 2, ориентированную на японский язык, и готовится инвестировать около 14 млрд долл. в инфраструктуру в ближайшие пять лет. Примечательно, что конкуренция в этом секторе в Японии усиливается: SoftBank и другие крупные игроки также строят свои ИИ-платформы, превращая страну в один из новых центров глобальной технологической гонки.
#Япония#Телеком#NTT
Японские 5G в небесах
Правительство Японии стремится достичь прогресса в разработке технологий эффективного использования систем беспроводной (мобильной) связи и спутниковый связи.
В последние годы Япония сталкивается с трудностями в обеспечении конкурентных преимуществ над странами с более низкими издержками на производство. В этих условиях власти делают ставку на технические инновации и экономическую безопасность страны.
Одной из перспективных технологий в области телекоммуникаций является использованиет.н.базовых беспилотных станций (HAPS - High Altitude Platform System).
HAPS представляет из себя автономный летательный аппарат, который может самостоятельно функционировать в стратосфере на высоте порядка 20 км и передавать телекоммуникационные сигналы в радиусе до 200 км (для сравнения базовая наземная станция обеспечивает до 10 км в зависимости от ландшафта).
HAPS позволяет эффективно использовать сети стандарта 5G\6G, при этом, в отличие от низкоорбитальных спутников Starlink, может использоваться для смартфонов без установки дополнительного оборудования.
Ожидается, что воздушные платформы гарантируют бесперебойное функционирование связи, в том числе и во время стихийных бедствий. Так, по данным NTT Docomo, одна такая станция способна обеспечивать потребности полуострова Ното, серьезно пострадавшего от землетрясения. Также платформы HAPS будут эффективны в труднодоступных регионах, где установка наземных базовых станций невозможна.
Существуют два перспективных проекта японского HAPS
1. Альянс NTT Docomo и Airbus. Японская компания анонсировала инвестиции в размере 100 млн. долл. в Aalto HAPS. В случае успеха Япония станет первой страной, использующей базовые беспилотные станции в коммерческих целях. NTT Docomo надеется, что к концу десятилетия HAPS будут доступны по всей стране. Тестовый экземпляр с размахом крыльев 25 метров уже показал хорошие результаты во время испытательного запуска, продержавшись в воздухе 64 дня.
2. Проект SoftBank и Alphabet. HAPSMobile, дочерняя компания SoftBank, разрабатывает альтернативную технологию совместно с HAPS Alliance (Nokia, Google, Erisson, Telefonica). Ожидается, что продукт появится на рынке в 2027 г.
В планах NTT и SoftBank масштабировать технологию HAPS на остальной мир, прежде всего на развивающиеся рынки Юго-Восточной Азии и других регионов со сложным ландшафтом. По данным исследовательской компании MarketsandMarkets, мировой рынок HAPS достигнет 189 миллионов долларов в 2028 г.
Параллельно с проектом HAPS NTT продолжает стратегическое сотрудничество с Amazon по созданию группировки из 3236 низкоорбитальных спутников для обеспечения связи.
#HAPS#5G#Мобильнаясвязь#NTT
Япония разрабатывает сети6G - вся надежда на фотонику
Япония, проигрывая Китаю в конкурентной борьбе за беспроводные сети 5G, планирует стать лидером в разработке технологии следующего поколения 6G.
Минцифры Японии начинает отбор проектов по разработке стандартов и развития ноу-хау для сетей 6G.
Планируется, что к 2028 г. именно Япония представит мировому рынку новое поколение телекоммуникационных решений, которые будут базироваться на т.н. «фотонике».
Эксперты Nikkei отмечают, что лидерство в распространении технологий 5G принадлежит КНР (Huawei), ЕС (Ericsson, Nokia) и США (Qualcomm и Cisco), и Япония с ними уже не сможет конкурировать. В свою очередь, японские компании обладают рядом уникальных технологий в передаче данных с использованием фотоники.
На данный момент наиболее передовыми решениям располагает корпорация NTT, которая разрабатывает телекоммуникационную платформу IOWN (Innovative Optical and Wireless Network).
IOWN характеризуется не только высокой скоростью передачи данных, но и низкими показателями энергопотребления. Сообщается, что тестовая передача данных при помощи IOWN уже была проведена между дата-центрами в США и Великобритании.
Японские разработчики 6G-сетей стремятся создать технические решения, позволяющие расширить географию размещения дата-центров, увеличить скорость передачи информации и снизить затраты на электропотребление.
#6G#NTT#Япония#ИИ#большие_данные#фотоника