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

Резултати

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

Пребарај: #happybirthday

当前筛选 #happybirthday清除筛选

#HappyBirthday, St. Petersburg! 27 мая 1703 г., в день Святой Троицы, в устье Невы на Заячьем острове Петром I была заложена крепость. Именно этот день считается днём основания Санкт-Петербурга, который более 200 лет являлся столицей 🇷🇺России. В первые два века существования Петербурга английская община была одним из крупнейших меньшинств города. До сих пор в городе есть 2️⃣ улицы, названные в честь их английского прошлого – Английская набережная и Английский проспект. После революции эти две улицы, которые когда-то были ♥️ сердцем английской общины города, получили новые названия – Английская набережная стала Набережной Красного флота, а Английский проспект – Проспектом Маклина. Только в 1994 году, в связи с приездом 👸 Королевы Елизаветы II в Санкт-Петербург, этим двум улицам были возвращены их названия. Если у вас есть 📸 фотографии Английской набережной и Английского проспекта, поделитесь ими с нами!

Ян Трунцев

@yantruntsev · Post #55 · 24.02.2023 г., 15:41

Поздравляем основателя и руководителя нашего агентства Яна Трунцева с Днем Рождения! 🥳 Радость работать с таким боссом! Ян, спасибо за профессионализм, чуткость и внимание к деталям! С днём Рождения! Прекрасных артистов, крутых проектов и, конечно же, удовольствия от процесса! ✌️ Любим и крепко обнимаем! Команда HMF Agency ❤️ #happybirthday

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4813 · 10.06.2025 г., 06:58

Приветствую, товарищи! 🎈А сегодня мой день рождения. It's my bd today:) Looking forward to your congratulations in Russian in the comments! • День рождения [den' razh-de-ni-ya] оr • День рожденья (incorrect but often used in colloquial Russian) [den' razh-de-n'ya] Birthday • Дэрэ‌шечка (slang) [de-re-shych-ka] Birth Day 🔻From initial letters ДР=День Рождения • С днём рождения! [z dnyom razh-de-ni-ya] SLT: With your birthday! Happy birthday! • С днюхой! (informal) [z dnyu-khay] Happy bd! • Мои поздравления! [ma-yi paz-drav-le-ni-ya] My congratulations! • Поздравляю! [paz-drav-lya-yu] (I) congratulate (you)! • Поздравляем! [paz-drav-lya-yem] (We) congratulate (you)! 🎧🗣👇Всех обняла! Natalie with💓 #useful_vocabulary #happybirthday 😎RCR | Support | Boost

达莉亚

@caijingwangyuanjing · Post #250 · 03.03.2025 г., 17:41

Happy Birthday!! @DelicateDivasAI I love you so much!! Thank you so much for letting me be a part of your life. Hope I'm there to wish you many more happy birthdays in the future! Ilysm! #HAPPYBIRTHDAY#cake

ДанКира_КМВ Турфирма

@dankira_kmv_official · Post #8683 · 05.01.2026 г., 05:31

🎉У НАС СЕГОДНЯ ДЕНЬ РОЖДЕНИЯ. ДВОЙНОЙ 🎉 Кирусе сегодня 20 лет (не, она точно приёмная 🤣), мне чуть больше. Она должна была родиться 18.01, но решила что мой день рождения 5.01 ей нравится больше. Я безумно благодарна ей, что еще в том веке она вытолкала ко мне своего старшего брата Даниила, а потом, заскучав по нему, пришла ко мне. Эта парочка - моя самая большая победа и гордость, приходится им соответствовать 😊 Для тех, кто не знает–это Кирино имя стоит вторым в названии моей турфирмы ДанКира. Сегодня мы принимаем поздравления, пожелания и завиральные идеи по развитию бизнеса. 💰При желании отправить "на шоколадку" можно на карту Сбербанка либо Альфа-Банк по номеру телефона из профиля +7 988 706-88-98 Ольга Валентиновна А. 🎁В честь нашего Дня рождения я дарю скидку 15% на любую индивидуальную экскурсию со мной, забронированную сегодня, с проведением до 01.05.25 Мы начинаем наш личный новый год. Однозначно будет ярко, весело и очень круто🔥 Погнали.... #данкира#деньрождения#happybirthday

ПретходнаСтраница 1 од 3Следна