@ImagenesPoeticas · Post #13753 · 24.12.2025 г., 18:00
#Navidad @ImagenesPoeticas
Hashtags
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
Пребарај: #navidad
@ImagenesPoeticas · Post #13753 · 24.12.2025 г., 18:00
#Navidad @ImagenesPoeticas
Hashtags
@ImagenesPoeticas · Post #13749 · 24.12.2025 г., 18:00
#Navidad @ImagenesPoeticas
Hashtags
@ImagenesPoeticas · Post #13745 · 24.12.2025 г., 18:00
#Navidad @ImagenesPoeticas
Hashtags
@ImagenesPoeticas · Post #13742 · 24.12.2025 г., 18:00
#Navidad @ImagenesPoeticas
Hashtags
@ImagenesPoeticas · Post #13740 · 24.12.2025 г., 18:00
#Navidad @ImagenesPoeticas
Hashtags
@ideascasa · Post #13610 · 14.11.2021 г., 13:08
Decoración de puertas en #navidad
Hashtags
@ideascasa · Post #13548 · 07.11.2021 г., 12:01
Decoración de escalera #navidad
Hashtags
@ideascasa · Post #13516 · 06.11.2021 г., 15:35
Decoración de cortinas para #navidad
Hashtags
@ideascasa · Post #13496 · 06.11.2021 г., 15:27
#navidad
Hashtags
@CienciaParaTodos · Post #10910 · 24.12.2024 г., 17:00
#Navidad EL SOLSTICIO Parte 2 Pero ¿qué es? Los solsticios (del latín solstitium (sol sistere), que significa ‘Sol quieto’) son los momentos del año en los que el Sol alcanza su mayor o menor altura aparente en el cielo, y la duración del día o de la noche son las máximas del año, respectivamente. En el solsticio de diciembre el Sol alcanza su altura mínima al mediodía del 21 o 22 de diciembre sobre el trópico de Capricornio y se corresponde con el día más corto del año, marcando el paso del Otoño al Invierno. A partir de esta fecha, los días comienzan a alargarse en un hemisferio y a acortarse en el otro. En el Solsticio de Junio que ocurre entre el 21 o 22 de junio, sucede lo mismo pero a la inversa. A lo largo del año la posición del Sol vista desde la Tierra se mueve hacia el Norte y hacia el Sur, y la existencia de los solsticios está provocada por la inclinación del eje de la Tierra sobre el plano de su órbita. En el hemisferio Norte, en estas fechas marcan la llegada del invierno, y en el Sur la del Verano. Podríamos dejaros miles de datos y cálculos sobre los solsticios, pero su mayor belleza radica en su avistaje ya que es uno de los mejores espectáculos que se pueden observar estos días. Por eso, y para vuestro disfrute, os dejamos algunos videos de tan bello momento. 🌞Solsticio en el Cerro La estrella 🌞Solsticio en Karnak 🌞Solsticio en Africa. Timelapse Pero sin duda lo más difícil de ver es este momento en los Polos... Aquí tenéis los dos: 🧊Solsticio Polo Norte 🧊Solsticio Polo Sur @CienciaParaTodos
Hashtags
@CienciaParaTodos · Post #10909 · 24.12.2024 г., 17:00
#Navidad EL SOLSTICIO Parte 1 El ser humano lleva miles de años mirando al cielo fue encontrando la forma de marcar aquellos momentos que eran especiales. El Solsticio es uno de ellos. Grandes fiestas se organizaban alrededor de éstas fechas en todo el mundo, ya que en muchas culturas han encontrado una fiesta que, aproximadamente, coincida con el solsticio. A pesar que es común que la gente en nuestra época piense que los solsticios se producen el 25 de diciembre y el 25 de junio, ello es un error ya que éstos se producen entre el 21 y 22 de tales meses. @CienciaParaTodos
Hashtags
@ImagenesHistoricas · Post #10266 · 24.12.2025 г., 18:00
#Navidad LA TREGUA DE NAVIDAD 📸 La tregua comenzó en la víspera de la Navidad el 24 de diciembre de 1914, cuando las tropas alemanas comenzaron a decorar sus trincheras, luego continuaron con su celebración cantando villancicos: específicamente "Stille Nacht" (Noche de paz). Las tropas británicas en las trincheras al otro lado respondieron entonces con villancicos en inglés. 📸The Christmas Truce The truce began on Christmas Eve on December 24, 1914, when German troops began decorating their trenches, then continued their celebration by singing Christmas carols: specifically "Stille Nacht" (Silent Night). The British troops in the trenches on the other side then responded with Christmas carols in English. 🇬🇧 @ImagenesHistoricas
Hashtags