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

Пребарај: #aimusic

当前筛选 #aimusic清除筛选

Потестил новый музыкальный функционал 11ElevenLabs — делюсь находками. Как работает Это прям как умный музыкальный агент: закидываешь текст песни + в конце промт с жанрами в один блок — нейронка сама раскидает всё по тегам, порежет лирику на куски и встроит в структуру трека. Можно и без текста — просто промт вроде «песня о любви» или «сделай инструментал», и она сама всё напишет. Нашёл ещё годную фишку: Можно попросить просто звуки — лес, костёр, гул битву воинов на фоне — и она сделает. Для комплексного саунд-дизайна роликов это топ. По сути, прокачанная версия «Sound Effects» в том же 11ElevenLabs: не 22 секунды, а столько, сколько укажешь — хоть полчаса атмосферного леса. После старта генерации модель делит трек на секции, прописывает слова, строит структуру. Можно продлевать хоть до бесконечности. Интерфейс шеринга радует: чёрный глянцевый эквалайзер в латексном стиле — выглядит прям секс! Что не зашло * Иногда слова вставлены чисто «для галочки» — не в тему и по смыслу проседают. Даже у меня, не музыкального эстета, это на слух заметно. * Переходы между секциями не всегда мягкие — бесшовность есть, но иногда швы видны. * Чтобы сделать инструментал, надо писать это в тексте промта. Кнопка была бы удобнее. Итог Не революция, но местами глубина звучания прям кайф. Потенциал огромный — если допилят, будет мощный инструмент в своей нише. 😂 Маму любишь, лайк поставь) #aimusic | AcidCrunch

Hashtags

Нейросуть | Malikov AI

@neuralsense · Post #152 · 15.08.2024 г., 10:01

Скуфендуи глазами ИИ У нас готов AI шедевр! Помните мы выпустили музыкальный альбом «Блок Ч», созданный искусственным интеллектом? По результатам тестирования одним из наиболее популярных треков стал «Скуфендуй». На него мы решили снять клип… если можно так выразиться, конечно! AI художники SAS Metagallery Андрей Гладков и Андрей Маликов создали это видео исключительно с помощью нейронных сетей! Сам клип мы запремьерим во время нашего пабликтока в рамках Недели московского кино 27 августа на площадке Парка Горького! Ну а небольшой кусочек этого шедевра с радостью покажу вам, мои дорогие! Ну и трек сразу ловите) #aimusic#ai#ии#цифровыехудожники#sas#блокч