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

Пребарај: #craftology

当前筛选 #craftology清除筛选
CRAFT BAR SKILLS ACADEMY

@craftbarskillsacademy · Post #296 · 27.03.2023 г., 18:16

Porto Ronco ( Порто Ронко) - коктейль, знаменитый, в первую очередь, благодаря роману Э.Ремарка «Три товарища» ( E.M.Remarque “Three Comrades”) .Коктейль упоминается в романе не единожды и описывается, что «портвейн, смешанный с ямайским ромом, краснеет анемичными щеками, согревает, бодрит, а также вселяет надежду и доброту». Коктейль назван «Порто Ронко» в честь одноименной швейцарской деревни Порто Ронко на границе с Италией, где у Ремарка был собственный особняк. Здесь писатель провел несколько лет, а затем вернулся на склоне лет и последние 12 лет жил в Порто-Ронко, где и был похоронен. Главная проблема коктейля Порто Ронко в том, что Ремарк не оставил точного состава и торговых марок. Известно лишь, что ром должен быть ямайским, но непонятно каким: белым, золотым или темным. Под вопросом и тип портвейна. Поэтому нам стоит только догадываться и подбирать свою версию «литературного» коктейля. На основании исторических данных принято считать, что следует использовать золотой ром и красный сладкий портвейн легкой или средней выдержки. Если коктейль слишком сладкий, то можно добавить несколько капель ангостуры или апельсинового биттера, или вывести свой баланс. Не претендуя на звание «лучшего» варианта, просто предлагаем версию легендарного коктейля, насыщенную, плотную и яркую! (Конечно, это уже, можно сказать, и другая коктейльная категория, но вдохновлённая именно невероятным сочетанием рома и портвейна Porto Ronco). Porto Ronco ( variation, а в узких кругах известный как “Ромовый дневник») бар «Аптека» Портвейн красный Ливадия 30 мл Ром Viejo de Caldas 5 Y.O. 20 мл Ром Navy Island Jamaica 10 мл Ликер Fruko Schulz Amaretto 10 мл Сок лимона 15 мл Бальзамический крем 5 мл https://www.instagram.com/reel/CqQKZ4eAwLF/?igshid=YmMyMTA2M2Y= #craftology#cocktails