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

Резултати

Пронајдени 3 слични објави

Пребарај: #andreabocelli

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

@ClasicaAlAtardecer · Post #6533 · 03.02.2024 г., 18:30

​​#AveMaría#Schubert#DavidGarrett#AndreaBocelli AVE MARÍA El Ave María de Schubert también es una pieza de concierto; por lo general se canta en latín, aunque se ha traducido a varios idiomas, y ha sido interpretada por artistas como María Callas, Plácido Domingo, Luciano Pavaroti, Andrea Bocelli o Diana Ross. Esta pieza musical no se escribió con fines litúrgicos, sino que formó parte de un conjunto de obras inspiradas en un poema épico del novelista inglés Walter Scott conocidos como La Dama. Schubert compuso siete canciones sobre La Dama del Lago que fueron publicadas en 1826 como su Opus 52. El Ave María es la tercera canción de este conjunto y fue escrita en alemán para ser interpretado por una voz femenina acompañada por piano en una tonalidad de Si bemol mayor. La belleza de esta obra hizo que se empezara a usar con fines religiosos en los templos; el compositor Franz Liszt hizo tres adaptaciones para piano de esta pieza, que, con los años, se ha convertido en una de las favoritas para interpretarse en las bodas, y por su belleza, compite con otras aves María como la de Bach-Gounod, Offenbach, e incluso, la de Jaime Nunó, el autor del Himno Nacional Mexicano quien escribió un Ave María. La palabra Ave proviene de la Roma clásica y era una forma de saludar significando “que estés bien” o que“Dios te salve”. Años después de su composición un desconocido adaptó la música de la canción de Schubert al himno de alabanza en latín, con lo cual la obra pasó de tener un carácter profano al religioso con el que se le conoce actualmente. Es decir, pasó de ser el canto de ayuda de una joven (como era en la obra de Scott) a un himno con las palabras “Ave María, llena eres de gracia, el señor está contigo”. El Ave María de Franz Schubert es conocido y amado en todo el mundo; hay algo profundamente místico, poderoso, íntimo y amoroso en cada una sus notas. Schubert, en una carta a su padre, afirmó: “Ave María logró cautivar a sus oyentes y dedicarlos por completo, en corazón y alma”. La brillantez de la ingeniosa composición de la lírica melodía, es conmovedora en su sencillez. @ClasicaAlAtardecer