Установить свойства виджета в 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
Больше информации о вузе, нужно ещё больше!Part 1
Итак, вы решили погрузиться в атмосферу одного (или не одного) из вузов в своём списке. Как то сделать?
Самое банальное - инстаграм вуза. Вбиваем в поисковике соцсети X college и подписываемся. Чаще всего там будут анонсы мероприятий, какие-то торжества, daily routine и все что может рассказать о себе вуз. Например, сейчас идёт Black History Month и многие вузы устраивают кино-марафоны, лекции и праздничные вечера на эту тему.
Вариант номер 2 (и один из моих любимых) - страничка Admissions в инстаграме. Адмишн департмент стенфорда, например, летом публиковал там информацию о классе, который они хотят набрать на fall 2023 и советы по заполнению заявки к ним. Так же следует помнить многие вузы не присылают на почту дату и время релиза решений по вашей заявке. А ограничиваться обычным mid-месяц бывает нервно и неудобно. Так вот, многие Admissions публикуют на своих аккаунтах и дату, и время релиза. При этом, нигде, кроме их аккаунта этой информации может не быть. Поэтому, мотаем на ус.
Тик ток, о милый тик ток. Не скажу, что сильно полезный источник, но все же. Как минимум поглазеть на кампус и day from X college student там точно можно.
Минус: не у всех вузов есть аккаунт в тик токе.
#application
Для подачи заявки в вузы США Вам в любом случае нужно будет минимум три рекомендационных письма: два от учителей (чаще всего берутся учитель английского языка, учитель математики или классный руководитель) и одно от директора/завуча вашей школы.
Процесс сбора писем не всегда проходит гладко, так как многие учителя могут попросту отказать из-за отсутствия времени/желания/понимания как писать эти самые письма.
Можно ли написать их самому? В теории - да, на практике - не советую. Колледжу важно узнать как можно больше о вас, в том числе и со стороны школьных учителей. А студенты, зачастую, не могут объективно оценить и правильно себя преподнести. Поэтому постарайтесь все же договориться со своими учителями. Как минимум рекомендацию от школьного психолога или методиста вы точно сможете получить.
Если же учителя (а иногда и вы сами) понятия не имеют, что нужно писать в рекомендациях на вас, вот вам несколько статей об этом)
Как писать рекомендации школьным учителям
Как писать рекомендации завучам/директору
Советы по написанию рекомендационных писем от MIT
Несколько советов по написанию рекомендационных писем на финансирование от Yale university
У кого из учителей попросить рекомендации (MIT)
Как правильно попросить о написании рекомендаций
#application
Hybrid nanophotonic-microfluidic sensor integrated with machine learning for operando state-of-charge monitoring in vanadium flow batteries
https://doi.org/10.1016/j.est.2025.115349
При нашем скромном участии вчера вышла работа, в которой представлен усовершенствованный метод измерения степени заряда (SoC) ванадиевых проточных батарей (VRFB) с использованием показателя преломления и машинного обучения.
Основной акцент сделан на использовании изменения показателя преломления (RI) электролитов для оценки концентрации ионов ванадия.
Разработанный сенсор основан на фотонных интегральных схемах (PIC) и микрофлюидных каналах, что обеспечивает высокую чувствительность. Система прошла тестирование на рабочих условиях батареи, показав устойчивую корреляцию между спектральными характеристиками и данными о заряде.
Используя экспериментальные данные, ML модель была обучена точно предсказывать степень заряда проточной ванадиевой батареи путем анализа спектральных характеристик.
🔗По этой ссылке статья будет доступна бесплатно в течение первых 50 дней: https://authors.elsevier.com/c/1kSYB,rUrFxfAl
📕Journal of Energy Storage (IF=8.9)
#application
Common Application opens tomorrow 🙂
The day when you really feel the flow ... and it seems that there is no time at all☠️
Even if you end up getting rejected - either you didn’t put in enough effort, or fate itself saved you from this university🖇📓
But don't worry, I'm sure YOU WILL SUCCESS!
Those who enroll this year… respond in the comments and may good luck always be with you 😍
Sincerely,
#application
#motivation
@ninjasblog
🔖 Home | Mihon #pinboard#manga#application
Discover and read manga, webtoons, comics, and more – easier than ever on your Android device.
改朝换代了
https://mihon.app/