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

Пребарај: #alunfrancis

当前筛选 #alunfrancis清除筛选
🎼 CLÁSICA AL ATARDECER 🎻

@ClasicaAlAtardecer · Post #5846 · 12.10.2022 г., 18:00

#Sinfonía3#AllanPettersson#AlunFrancis Título:La “Sinfonía Nº 3” Autor:Allan Pettersson Movimientos: 🎵 Introduzione, andante con moto 🎵 Largo con espressione 🎵 Allegro comodo 🎵 Allegro con moto Interpretación: Orquesta Sinfónica de la Radio de Saarbrücken Director: Alun Francis Fuente:🎼 @ClasicaAlAtardecer

🎼 CLÁSICA AL ATARDECER 🎻

@ClasicaAlAtardecer · Post #5845 · 12.10.2022 г., 18:00

​​#Sinfonía3#AllanPettersson#AlunFrancis LA “SINFONÍA Nº 3” La “Sinfonía Nº 3” fue compuesta entre 1954 y 1955 por Allan Pettersson. Se estrenó el 21 de noviembre de 1956, interpretada por la Orquesta Sinfónica de Göteborg dirigida por Tor Mann. Es una de sus pocas sinfonías dividida en los cuatro movimientos tradicionales. Pero los tres movimientos finales se interpretan sin interrupción. Esta compuesta de cuatro movimientos 🎵Introduzione, andante con moto 🎵 Largo con espressione 🎵 Allegro comodo 🎵 Allegro con moto El primer movimiento, introduzione, andante con moto, empieza con un redoble del bombo en crescendo, sobre unas notas enunciadas por la cuerda grave. Se expone una idea temática de la cual derivará todo el complejo movimiento. La variación de los tempos a lo largo del movimiento es constante, por lo cual los títulos de las distintas partes de la sinfonía no pueden ser tomados en sentido general. Después de una sección allegro encontramos una parte más tranquila, con el inicio de temas más melódicos en la cuerda. Explosiones tímbricas se intercalan a lo largo del movimiento como gritos de protesta. El segundo movimiento, largo con espressione, empieza pausadamente con las dos mismas notas con las que termina el anterior. La madera actúa como solista frente a la cuerda. El movimiento llega a un breve climax del que sale una melodía lírica en la cuerda. En la parte final una melodía del violín recuerda los conciertos para cuerda. El movimiento contiene uno de los raros momentos de ternura en la obra de Pettersson, pero esta melancolía se rompe con fuertes disonancias. El movimiento podría expresar una idea de resignación. El tercer movimiento, allegro comodo, correspondería al scherzo. Enlazando directamente con el anterior movimiento, la música llega a una gran violencia, con fuertes disonancias. Grandes cambios de ritmo producen enorme tensión. Ritmos bárbaros acompañan a la sección final que enlaza directamente con el movimiento concluyente. El último movimiento, allegro con moto, empieza con una explosión de ideas rítmicas. La cuerda nos presenta un inicio de tema que no llega a desarrollarse. Motivos de todos los movimientos reaparecen en una gran confusión. Todo ello crea como un paisaje delirante de pesadilla. En la sección final aparece una especie de coral, que intenta cambiar el ambiente, en busca de un final más feliz, pero una pregunta sin respuesta produce nuevamente angustia, llevándonos a la coda. Una obra quizás más fácil que la segunda, sin querer decir con ello que sea una sinfonía apropiada para iniciarse en la música. Se trata de una obra compleja, dura en muchos momentos. Una música angustiada, como un viaje al infierno. Aunque la música sigue siendo tonal, la complejidad de las ideas y sus continuos cambios la hacen difícil de seguir y comprender. @ClasicaAlAtardecer