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

Пребарај: #polansky

当前筛选 #polansky清除筛选
PiaNinoNotovna

@ninonotovna · Post #358 · 19.07.2025 г., 08:14

#piano #Polska #Chopin #Polansky ПИАНИНО И РОЯЛИ. ИСТОРИЯ ШЕСТАЯ: ВЛАДИСЛАВ ШПИЛЬМАН И ЕГО ПИАНИНО https://youtu.be/t81r4PGWdSk?feature=shared Каждый раз, а их было всего два, когда смотрела этот фильм, сердце переворачивалось. «ПИАНИСТ» Романа Полански (Roman Polansky) - это не простая голливудщина, это не очередной внеочередной фильм о холокосте, каких много, и, к сожалению, в большинстве своём, бездарных. Это действительно фильм о Пианисте, но не только. Это и фильм о Пианино (Роялях), которые его спасли. Да! Я готова утверждать, что в этом кино, где прекраснейший артист Эдриан Броуди (Adrien Brody) играл роль польского пианиста Владислава Шпильмана (Wladyslav Szpilman 1911-2000) спасли именно инструменты. И было это, как минимум, дважды: В первый раз, когда он, сходя с ума от голода и одиночества на подпольной квартире, беззвучно играл Полонез Шопена, кажется, на хозяйском пианино. А во второй, когда в развалинах Варшавского гетто, играл на чудом уцелевшем рояле Шопеновскую первую Балладу, благодаря чему и встретил своего спасителя - немецкого офицера Вильгельма Хозенфельда (Wilhelm Adalbert Hosenfeld 1895-1952). Вторая сцена до сих пор трогает меня до слез. Сразу слышу прерывистый голос Мандельштама (никогда его не слышала, правда, но мне кажется, что именно такой голос у него и был). И пророческое это стихотворение написано накануне мирового кошмара, начавшегося вовсе не в 1939м, а в 1933м. К НЕМЕЦКОЙ РЕЧИ Б.С.Кузину Freund! Versäume nicht zu leben: Denn die Jahre fliehn, Und es wird der Saft der Reben Uns nicht lange glühn! Ewald Christian Kleist Себя губя, себе противореча, Как моль летит на огонек полночный, Мне хочется уйти из нашей речи За все, чем я обязан ей бессрочно. Есть между нами похвала без лести И дружба есть в упор, без фарисейства — Поучимся ж серьезности и чести На западе у чуждого семейства. Поэзия, тебе полезны грозы! Я вспоминаю немца— офицера, И за эфес его цеплялись розы, И на губах его была Церера... Еще во Франкфурте отцы зевали, Еще о Гете не было известий, Слагались гимны, кони гарцевали И, словно буквы, прыгали на месте. Скажите мне, друзья, в какой Валгалле Мы вместе с вами щелкали орехи, Какой свободой вы располагали, Какие вы поставили мне вехи. И прямо со страницы альманаха, От новизны его первостатейной, Сбегали в гроб ступеньками, без страха, Как в погребок за кружкой мозельвейна. Чужая речь мне будет оболочкой, И много прежде, чем я смел родиться, Я буквой был, был виноградной строчкой, Я книгой был, которая вам снится. Когда я спал без облика и склада, Я дружбой был, как выстрелом, разбужен. Бог Нахтигаль, дай мне судьбу Пилада Иль вырви мне язык — он мне не нужен. Бог Нахтигаль, меня еще вербуют Для новых чум, для семилетних боен. Звук сузился, слова шипят, бунтуют, Но ты живешь, и я с тобой спокоен. 8— 12 августа 1932 PS Надеюсь, мы будем видеться не только в Валгалле, но и здесь, друзья!:)))) Хорошего дня Вам! Ваша PiaNinoNotovna My Telegram: https://t.me/ninonotovna И не забывайте подписываться! Так общаться будет легче, говорят:))