Установить свойства виджета в 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
#Concierto3#Paganini#CharlesDutoit
EL CONCIERTO PARA VIOLÍN N. ° 3 EN MI MAYOR
El Concierto para violín n. ° 3 en mi mayor fue compuesto por Niccolò Paganini en 1826. El 12 de diciembre de 1826, Paganini escribió desde Nápoles a su amigo LG Germi que, habiendo completado recientemente su Segundo Concierto para violín, había "terminado de orquestar una tercera con una Polacca", y añadió: "Me gustaría probar estos conciertos en mis propios compatriotas antes de producirlos en Viena, Londres y París ". En el evento, el Tercer Concierto para violín no parece haberse estrenado hasta julio de 1828 en Viena. Después de la muerte de Paganini en 1840, no se volvió a interpretar durante más de un siglo, hasta que fue redescubierto a fines de la década de 1960 y Henryk Szeryng lo grabó e interpretó públicamente por primera vez en 1971.
El concierto consta de tres movimientos:
🎵Introduzione: Andantino - Allegro marziale (en mi mayor)
🎵 Adagio: Cantabile spianato (en La mayor)
🎵 Polacca: Andantino vivace (en mi mayor)
En esta obra el compositor equilibra de sabia manera una estructura compositiva propia de clasicismo tardío con la inconfundible atmósfera del todavía incipiente movimiento romántico.
El instrumento solista, como era de esperarse, despliega los más asombrosos recursos para impregnar toda la obra de una gracias juguetona, pero también de momentos de intenso dramatismo.
@ClasicaAlAtardecer
#Concierto3#Paganini#CharlesDutoit
EL CONCIERTO PARA VIOLÍN N. ° 3 EN MI MAYOR
El Concierto para violín n. ° 3 en mi mayor fue compuesto por Niccolò Paganini en 1826. El 12 de diciembre de 1826, Paganini escribió desde Nápoles a su amigo LG Germi que, habiendo completado recientemente su Segundo Concierto para violín, había "terminado de orquestar una tercera con una Polacca", y añadió: "Me gustaría probar estos conciertos en mis propios compatriotas antes de producirlos en Viena, Londres y París ". En el evento, el Tercer Concierto para violín no parece haberse estrenado hasta julio de 1828 en Viena. Después de la muerte de Paganini en 1840, no se volvió a interpretar durante más de un siglo, hasta que fue redescubierto a fines de la década de 1960 y Henryk Szeryng lo grabó e interpretó públicamente por primera vez en 1971.
El concierto consta de tres movimientos:
🎵Introduzione: Andantino - Allegro marziale (en mi mayor)
🎵 Adagio: Cantabile spianato (en La mayor)
🎵 Polacca: Andantino vivace (en mi mayor)
En esta obra el compositor equilibra de sabia manera una estructura compositiva propia de clasicismo tardío con la inconfundible atmósfera del todavía incipiente movimiento romántico.
El instrumento solista, como era de esperarse, despliega los más asombrosos recursos para impregnar toda la obra de una gracias juguetona, pero también de momentos de intenso dramatismo.
@ClasicaAlAtardecer
#Concierto5#Paganini#CharlesDutoit#SalvatoreAccardo
Título:El Concierto para violín n. ° 5 en La menor
Autor:Niccolo Paganini
Movimentos:
🎵Allegro maestoso (La menor)
🎵Andante , un poco sostenuto (Mi menor - Mi mayor)
🎵Finale - Rondo: Andantino cuasi Allegretto (La menor)
Interpretación:
Salvatore Accardo - Violinista
Orquesta Filarmonica de Londres
Director:
- Charles Dutoit
Fuente:🎼
@ClasicaAlAtardecer
#Concierto5#Paganini#CharlesDutoit#SalvatoreAccardo
EL CONCIERTO PARA VIOLÍN N. ° 5 EN LA MENOR
El Concierto para violín n. ° 5 en La menor fue compuesto por Niccolò Paganini en 1830. Es uno de los últimos cuatro conciertos para violín de Paganini más interpretados. Una actuación típica dura unos 40 minutos. De hecho, es el último concierto de Paganini (el concierto #6 fue escrito en parte en 1815 y la tercera parte es postume)
El concierto consta de tres movimientos:
🎵Allegro maestoso (La menor)
🎵Andante , un poco sostenuto (Mi menor - Mi mayor)
🎵Finale -Rondo: Andantino cuasi Allegretto (La menor)
Sólo se conserva la parte solista del Concierto nº 5 de Paganini; la partitura orquestal no se escribió o aún no se ha descubierto. Según el manuscrito, no se compuso antes de la primavera de 1830.
Este concierto del más famoso de todos los virtuosos del violín puede llamarse un monólogo para violín. Debido a que existe la parte del solo, el concierto puede ejecutarse si se reconstruye adecuadamente.
En 1958 Vittorio Baglioni confió esta tarea a Federico Mompellio en nombre de la Accademia Musicale Chigiana , y en septiembre de 1959, el concierto recibió su primera interpretación. Franco Gulli fue el solista y Luciano Rosada el director. El éxito de esta actuación indujo a Guli a presentar el concierto en muchas ciudades europeas.
El primer tema del majestuoso primer movimiento, un tema que se genera a partir de "Le Streghe" (Danza de las brujas) y el comienzo del segundo también se encuentran en la "Sonata Varsavia" de Paganini (Varsovia Sonata). El Andante es quizás musicalmente la sección central de la obra. En el tercer movimiento la idea recurrente es una melodía ingeniosa "alla campanella".
Según su costumbre, Paganini omite el Trío en el final, ya que el solista se limita aquí a pasajes puramente virtuosos, evidentemente el compositor tenía la intención de que la orquesta tocara el tema.
El primer movimiento es en forma de sonata y alterna entre La menor y La mayor, y comienza con una introducción orquestal muy larga que precede a la voz solista, que recuerda al Concierto para piano n. ° 1 de Chopin. El movimiento tonal es característico de los conciertos menores de Paganini: La menor - Do mayor - Re menor - La mayor, volviendo sorprendentemente a La menor 4 compases antes del final del primer movimiento.
El segundo movimiento es un andante lento y triste, que comienza en Mi menor y termina en Mi mayor.
El tercero es un rondó, con el estribillo en La menor y dos episodios, principalmente en Do mayor, que en Fa mayor. La frase final del tercer movimiento contiene la alusión al famoso Caprice #24. La mayor parte de la orquestación no fue escrita por Paganini y se completó después de su muerte.
@ClasicaAlAtardecer
#Concierto5#Paganini#CharlesDutoit#SalvatoreAccardo
Título:El Concierto para violín n. ° 5 en La menor
Autor:Niccolo Paganini
Movimentos:
🎵Allegro maestoso (La menor)
🎵Andante , un poco sostenuto (Mi menor - Mi mayor)
🎵Finale - Rondo: Andantino cuasi Allegretto (La menor)
Interpretación:
Salvatore Accardo - Violinista
Orquesta Filarmonica de Londres
Director:
- Charles Dutoit
Fuente:🎼
@ClasicaAlAtardecer
#Concierto5#Paganini#CharlesDutoit#SalvatoreAccardo
EL CONCIERTO PARA VIOLÍN N. ° 5 EN LA MENOR
El Concierto para violín n. ° 5 en La menor fue compuesto por Niccolò Paganini en 1830. Es uno de los últimos cuatro conciertos para violín de Paganini más interpretados. Una actuación típica dura unos 40 minutos. De hecho, es el último concierto de Paganini (el concierto #6 fue escrito en parte en 1815 y la tercera parte es postume)
El concierto consta de tres movimientos:
🎵Allegro maestoso (La menor)
🎵Andante , un poco sostenuto (Mi menor - Mi mayor)
🎵Finale -Rondo: Andantino cuasi Allegretto (La menor)
Sólo se conserva la parte solista del Concierto nº 5 de Paganini; la partitura orquestal no se escribió o aún no se ha descubierto. Según el manuscrito, no se compuso antes de la primavera de 1830.
Este concierto del más famoso de todos los virtuosos del violín puede llamarse un monólogo para violín. Debido a que existe la parte del solo, el concierto puede ejecutarse si se reconstruye adecuadamente.
En 1958 Vittorio Baglioni confió esta tarea a Federico Mompellio en nombre de la Accademia Musicale Chigiana , y en septiembre de 1959, el concierto recibió su primera interpretación. Franco Gulli fue el solista y Luciano Rosada el director. El éxito de esta actuación indujo a Guli a presentar el concierto en muchas ciudades europeas.
El primer tema del majestuoso primer movimiento, un tema que se genera a partir de "Le Streghe" (Danza de las brujas) y el comienzo del segundo también se encuentran en la "Sonata Varsavia" de Paganini (Varsovia Sonata). El Andante es quizás musicalmente la sección central de la obra. En el tercer movimiento la idea recurrente es una melodía ingeniosa "alla campanella".
Según su costumbre, Paganini omite el Trío en el final, ya que el solista se limita aquí a pasajes puramente virtuosos, evidentemente el compositor tenía la intención de que la orquesta tocara el tema.
El primer movimiento es en forma de sonata y alterna entre La menor y La mayor, y comienza con una introducción orquestal muy larga que precede a la voz solista, que recuerda al Concierto para piano n. ° 1 de Chopin. El movimiento tonal es característico de los conciertos menores de Paganini: La menor - Do mayor - Re menor - La mayor, volviendo sorprendentemente a La menor 4 compases antes del final del primer movimiento.
El segundo movimiento es un andante lento y triste, que comienza en Mi menor y termina en Mi mayor.
El tercero es un rondó, con el estribillo en La menor y dos episodios, principalmente en Do mayor, que en Fa mayor. La frase final del tercer movimiento contiene la alusión al famoso Caprice #24. La mayor parte de la orquestación no fue escrita por Paganini y se completó después de su muerte.
@ClasicaAlAtardecer