@estudiantesmvz · Post #964 · 02.09.2021 г., 14:58
Enfermedades en porcinos https://drive.google.com/file/d/0B5IZGEJO286EMG9YOGhCTDNtM00/view?usp=drivesdk&resourcekey=0-Uf-kVeV5Qyju-KMQTGcKxw #cerdos
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
Пребарај: #cerdos
@estudiantesmvz · Post #964 · 02.09.2021 г., 14:58
Enfermedades en porcinos https://drive.google.com/file/d/0B5IZGEJO286EMG9YOGhCTDNtM00/view?usp=drivesdk&resourcekey=0-Uf-kVeV5Qyju-KMQTGcKxw #cerdos
Hashtags
@estudiantesmvz · Post #963 · 02.09.2021 г., 14:52
Enfermedades del cerdo https://t.me/estudiantesMVZ/649 #cerdos
Hashtags
@estudiantesmvz · Post #1571 · 28.07.2022 г., 00:00
Manejo y producción porcina https://drive.google.com/file/d/1adn0TC32SJa_aEwAmBSBxKVCvaZuiY0K/view?usp=drivesdk #Zootecnia #Cerdos
Hashtags
@estudiantesmvz · Post #1570 · 27.07.2022 г., 23:30
Producción porcina en pequeña escala https://drive.google.com/file/d/1aK_orbzPGGhb8XeK-xIfzFVdtw3rwQO1/view?usp=drivesdk #Zootecnia #Cerdos
Hashtags
@estudiantesmvz · Post #969 · 02.09.2021 г., 15:05
Atlas de patología porcina https://t.me/estudiantesMVZ/970 #patologia #cerdos
Hashtags
@estudiantesmvz · Post #1844 · 20.07.2023 г., 23:30
Medicina del cerdo https://drive.google.com/file/d/1T_9mjzusft71Ma82wYXAUBCPR2QJCAAN/view?usp=drivesdk #Clinica #Cerdos #Elsevier
@estudiantesmvz · Post #1836 · 14.07.2023 г., 00:02
Manejo sanitario y tratamiento de las enfermedades del cerdo https://drive.google.com/file/d/1L4RXC6utp2lkUnduh94EKbMHZe8c9J4l/view?usp=drivesdk #Cerdos #Clinica #Intermedica
Hashtags
@estudiantesmvz · Post #1500 · 27.06.2022 г., 00:30
Bienestar del cerdo https://drive.google.com/file/d/1TBrbX5rVJhS4_oXRg_JGsIcN_EuLW7y4/view?usp=drivesdk #Bienestaranimal #Cerdos #Zootecnia
@estudiantesmvz · Post #1188 · 20.11.2021 г., 01:10
Cirugía en animales de granja https://drive.google.com/file/d/1GGk0123eU5l-vleFUwmWqtymhDLm5Yun/view?usp=drivesdk #cirugia #equinos #bovinos #ovinos #cerdos
@estudiantesmvz · Post #1163 · 10.11.2021 г., 00:30
Técnicas quirúrgicas en animales grandes https://drive.google.com/file/d/1FLxoVxZXIqYwyaRn1lg9nzAq7cGhLfdu/view?usp=drivesdk #equinos #bovinos #cerdos #ovinos #cirugia
@zootecniaesmipasion · Post #1137 · 15.11.2022 г., 01:21
Descarga Manual de diagnóstico de enfermedades en cerdos 👉https://zoovetesmipasion.com/libros-zootecnia-veterinaria/libros-de-porcicultura/manual-de-diagnostico-de-enfermedades-en-cerdos ✅ Unete a nuestras redes sociales https://bit.ly/m/Zoovet #Librosdeporcultura#Cerdos#porcicultura
@estudiantesMVZ · Post #2732 · 11.07.2025 г., 00:45
Cirugía en animales de granja https://drive.google.com/file/d/1GGk0123eU5l-vleFUwmWqtymhDLm5Yun/view?usp=drivesdk #cirugia #elsevier #cerdos #bovinos #caprinos #ovinos