@apksarena · Post #4047 · 09.02.2026 г., 03:19
Update #Rumi Complete quest galxe : - Rumi Early Access — Win $1,000
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
Пребарај: #rumi
@apksarena · Post #4047 · 09.02.2026 г., 03:19
Update #Rumi Complete quest galxe : - Rumi Early Access — Win $1,000
Hashtags
@skhanzadeh_ir · Post #408 · 10.03.2022 г., 01:15
Behold humankind, how dark (unenlightened) they are, and how they are perishing in (desire for) a perishable piece of goods. #rumi @skhanzadeh_ir فناوری برای بشریت
Hashtags
@skhanzadeh_ir · Post #386 · 03.02.2022 г., 22:02
از محبت خار ها گل می شود through love thorns become roses Аз муҳаббат хорҳо гул мешавад #rumi @skhanzadeh_ir فناوری برای بشریت گپ|ایتا|بله|تلگرام
Hashtags
@fluencyinenglish · Post #7846 · 04.09.2021 г., 08:53
@fluencyinenglish #rumi When I die #vocabulary
Hashtags
@textytela · Post #521 · 11.04.2024 г., 09:51
Люблю переклички через столетия. XIII, XX, и через тридцать с хвостиком после условного начала – сквозное. ГЕФСИМАНИЯ. МЭРИ ОЛИВЕР. (пер. Наташа Пресс) Трава никогда не спит. Как и розы. Нет ока тайного у лилии, закрытого до самого рассвета. Иисус сказал, побудьте здесь. Но все ученики уснули. У сверчка такая удивительная бахрома на лапках, замечали, как он поет всем телом, кто знает, спит ли он вообще. Иисус сказал, побудьте здесь. Быть может, звезды так и сделали, быть может ветер укутался в серебряные ветви и затих, быть может где-то далеко то озеро, по которому он шел подобно синей мостовой, затихло в ожиданье, не смыкая глаз. О милые тела, такие сонные с закрытыми глазами, им не удалось остаться бодрствовать, как они должно быть плакали потом, так по-человечески, и знали, что это тоже часть истории. НЕ ВОЗВРАЩАЙСЯ В СОН. РУМИ. (пер. с англ. Наташи Пресс) Рассветный ветер ждет тебя поведать тайны. Не возвращайся в сон. Проси о том, чего воистину желает твое сердце. Не возвращайся в сон. Люди перемещаются туда-сюда через порог прикосновения миров. Дверь круглая, она открыта. Не возвращайся в сон. #maryoliver#rumi#dontgobacktosleep
@googlefactss · Post #40343 · 16.12.2025 г., 23:01
Rumi died on December 17, 1273. He was a Persian poet and Sufi mystic known for his spiritual poems about love and God. His famous work, the Masnavi, teaches deep lessons about life and faith. Rumi’s poetry helps many people find meaning in everyday life. [Source] If you feel inspired share your or Rumi's poetry. @googlefactss #Rumi#Poet#Sufism#Love#Spirituality#Masnavi📜❤️