@legkoenebo · Post #4062 · 01.07.2025 г., 17:19
Доброй ночи💤 Лёгкое небо #aviation#goodnight
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
Пребарај: #goodnight
@legkoenebo · Post #4062 · 01.07.2025 г., 17:19
Доброй ночи💤 Лёгкое небо #aviation#goodnight
Hashtags
@PianCatChan · Post #3 · 15.07.2020 г., 17:45
#Furry#Goodnight 再见ibu,祝你在另一个世界仍然开心 再见。
Hashtags
@m1r0slavakarpovich · Post #1026 · 11.06.2023 г., 20:00
#goodnight#moonlight#sundayvibes
Hashtags
@m1r0slavakarpovich · Post #1639 · 09.04.2025 г., 20:43
..Тайна.. ..Вера.. ..Воля.. ..Воображение.. Возрождайте свет души в себе,поддерживайте его в других.Именно это усилие создает новые возможности,вдохновляет нас на заботу о ближних ,способствует росту как личного,так и общественного благополучия… ..Любовь.. ..Свобода.. ..Состояние.. Мира,Вам…✨ #гастроли#moodoftheday#photooftheday#photography#purelove#heavenonearth#actress#actrice#selfiee#model#curly#april#spring#printemps #2025 #весна#мира#мирославакарпович#magic#апрель#goodnight#добройночи#femme#women#green
@m1r0slavakarpovich · Post #1658 · 27.06.2025 г., 02:07
Мы создаем моменты … раскаты грома .. бросаем камни,и порой не понимаем ,что главное -это расходящиеся круги…от нашего импульса волны,которые могут доходить до Вашего и Вашего и да,до Вашего Дома ещё много лет ,и это ещё не всё… …Даже одна ,казалось бы мелочь может творить чудеса ..цель нашей не работы,а поистине любимого дела- научить людей как можно больше получать удовольствие от жизни … ..Мой голос-Наш голос ,может изменить что-то к лучшему..и я сделаю все,что в моих силах…пусть Ваше/Наше дело вырастает во что-то прекрасное,что поможет прожить чудесную жизнь и заботиться о будущих семьях …будьте тем,кто просыпается по утрам и думает : «Что я могу изменить?».Занимайтесь этим до конца Ваших дней-это признак настоящего двигателя перемен…воспрос не в том полюбите ли Вы свое дело,вопрос когда полюбите?И неважно ,что Вас зацепит ,чтобы Вас не зацепило,мы вместе отправимся в этот путь …пусть это будет похоже на Американские горки,но это Вас насыщает и заставляет чувствовать ,что живешь не зря…Каждый из нас способен зажечь в людях искру возможности,которая может стать пламенем надежды …Зажигайте…✨#миравам #mira#мирославакарпович#photoshoot#photooftheday#moodoftheday#june#summer#summervibes#positvevibes#июнь #2025 #memories#purelove#heavenonearth#newera#sun#energy#femme#мира#actress#actrice#model#curly#goodnight#green
@m1r0slavakarpovich · Post #1053 · 19.06.2023 г., 19:28
Каждый раз это как маленькое путешествие ,каждый раз я учусь покорять Мир, чтобы узнать его лучше.. чтобы узнать себя лучше..Каждый раз это целая история..маленький - большой фильм про Всех Нас…Вас Дорогие Женщины..в которой кроется она… M-use.. I-nspiration.. R-adiance.. A-mour.. by …❣️ Ph/Production @ekate.sharapova MUAH @katyarad_muah Style @alina_shalak Dress @dashali_official #goodnight#video#moodvideo#moodoftheday#photooftheday#photography#muah#womenfashion#model#actress#stylist#petitefashion#trio#reddress#whitedress#blackdress#lady#мирославакарпович#женщинамира#petitefemme#mira#muse#purelove#heavenonearth#music#peaceful#всемхорошеговечера#miracle#magic#art