@haitang_weiyuu · Post #5324 · 07.08.2025 г., 07:00
🎞️🎞️🎞️🎞️🎞️🎞️🎞️🎞️🎞️🎞️ Всем наилучшего дня, солнца ~ #DinghaiFushengLu https://x.com/Kloui_s/status/1950258501470847448?t=-G_lyagnEclmef8bFxOQ4w&s=19
Hashtags
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
Пребарај: #dinghaifushenglu
@haitang_weiyuu · Post #5324 · 07.08.2025 г., 07:00
🎞️🎞️🎞️🎞️🎞️🎞️🎞️🎞️🎞️🎞️ Всем наилучшего дня, солнца ~ #DinghaiFushengLu https://x.com/Kloui_s/status/1950258501470847448?t=-G_lyagnEclmef8bFxOQ4w&s=19
Hashtags
@haitang_weiyuu · Post #4189 · 01.02.2025 г., 15:05
Простите, дорогие, с главой не получается. Я ничего не успеваю:( #DinghaiFushengLu https://weibo.com/6759103770/5128077365742376
Hashtags
@meddahstories · Post #1963 · 26.03.2024 г., 15:32
Несу добрую весть поклонникам новелл Фэйтянь Есяна Завершен перевод "Динхайских хроник иного мира" (Dinghai Fusheng Lu / 定海浮生录). Описание: 300 лет назад мир погрузился в магическое безмолвие. Бессмертные практики, волшебное оружие, магические силы и безграничная духовная Ци в одночасье исчезли во мраке, и все маги стали простыми смертными. К счастью, в темную ночь все же вспыхнул Сердечный Свет, озарив огромное пространство вокруг. 16-летний экзорцист, которому суждено дожить лишь до 20, отправился в путешествие по восстановлению запечатанной Ци. Ему осталось всего четыре года. (2019, 138ch) Полный русский перевод: главы 1-26, главы 27-138 Оригинальный текст Полный английский перевод Маньхуа (онгоинг). К сожалению, после выпуска 9 тома было принято решение закрыть проект Артер 千二百 (Lofter) #China#novel#FeiTianYeXiang#DinghaiFushengLu#список
@meddahstories · Post #2708 · 20.04.2025 г., 08:47
Уже послезавтра этот канал вернётся к привычному и приличному книжному контенту. А пока любуемся обложками первых двух томов "Динхайских хроник" Фэйтянь Есяна (он же Arise Zhang) от 苍顾行 (cangguxing). #China#novel#FeiTianYeXiang#DinghaiFushengLu#SevenSeas
@meddahstories · Post #2546 · 18.01.2025 г., 07:35
Наконец-то Seven Seas показали обложку первого тома новеллы "Динхайские хроники" Фэйтянь Есяна (он же Arise Zhang) от 苍顾行🌙低浮上 (cangguxing). Выход первого тома ожидается в мае. Книга (с мерчем и без) доступна для предзаказа на Logobook. #China#novel#FeiTianYeXiang#DinghaiFushengLu#SevenSeas
@haitang_weiyuu · Post #4774 · 20.04.2025 г., 08:53
Уже послезавтра этот канал вернётся к привычному и приличному книжному контенту. А пока любуемся обложками первых двух томов "Динхайских хроник" Фэйтянь Есяна (он же Arise Zhang) от 苍顾行 (cangguxing). #China#novel#FeiTianYeXiang#DinghaiFushengLu#SevenSeas
@meddahstories · Post #2309 · 25.08.2024 г., 16:10
Новости издательства Комильфо: 🤣"Усмиритель душ" Прист Выйдет в трёх томах. Первый том находится на стадии перевода. Выход из печати запланирован на декабрь. Художник обложек, суперобложек и элементов внутренего оформления – huaepiphany Художник внутренних иллюстраций – Пихта 🤣Издательство приобрело права на издание новеллы "Динхайские хроники" Фэйтянь Есяна (2019, 138ch) 🤣Показали обложку первого тома новеллы "Сквозь облака" Хуай Шан (материковая версия). Выход из печати запланирован на ноябрь. Предзаказ откроется 30.08 в 14:00. Художники издания: neesawahh, Pirate Ru-Ru #China#novel#Priest#Guardian#ZhenHun#FeiTianYeXiang#DinghaiFushengLu#HuaiShang#PoYun#анонсы