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

Резултати

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

Пребарај: #etymology

当前筛选 #etymology清除筛选
Language Trivia 🤔

@languagetrivia · Post #578 · 08.01.2025 г., 15:53

The word mortgage comes from Old French. What do the roots “mort” and “gage” literally mean? Options: A) ⚰️🤝 Death pledge B) 🏡💸 Life loan C) ⚰️📜 Death contract D) 🔄💰 Endless debt @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #572 · 05.01.2025 г., 16:09

🥖Which word for a “friend” comes from Latin, where it literally meant “with bread”? A) Acquaintance B) Associate C) Companion D) Comrade @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #560 · 02.01.2025 г., 07:56

Which animal’s name means “river horse” in Greek? 🦏 Rhinoceros 🦒 Giraffe 🐬 Dolphin 🦛 Hippopotamus 🐘 Elephant Did you get it right? Yes 😎 | No 🌚 @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #542 · 25.12.2024 г., 17:36

🚢 In the 14th century, ships arriving from plague-affected areas had to wait offshore for 40 days before docking. This practice helped prevent the spread of disease. 👉 Can you guess what word comes from this 40-day period? 💡 Hint:Think of how you’d say “40” in Italian. Press the button below to check if you got it right. Did you think of the correct word? Yes 🤓 | No 👀 @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #508 · 18.12.2024 г., 10:39

✨What language is the Harry Potter spell “Expelliarmus” inspired by? A. Greek 🇬🇷 B. Old English 👴🏻🇬🇧 C. Latin 🏛 D. French 🇫🇷 @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #505 · 17.12.2024 г., 17:36

😳🇯🇵What does the word ‘emoji’ literally mean in Japanese? A) Emotion icon 😃 B) Picture character 🖼 C) Smiley face 😊 D) Digital letter✉️ @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #486 · 15.12.2024 г., 11:33

A Quick Update 📣 Hi everyone! I wanted to share something with you. To support the growth of this channel and help me keep bringing you fun and educational content, I’ll be placing some ads here from time to time. I hope you understand—it’s a way for me to keep things running smoothly without asking for direct donations from you. Your support makes this community what it is, and I really appreciate it! 🙏 Thanks for sticking around and being part of this language-loving corner of the internet. Let’s keep learning together! ✨If you’d like to show your support, please tap the ❤️ reaction! And while we’re talking about ads, here’s a question for you: Which language does the word 'slogan' come from? A) French 🇫🇷 B) Scottish Gaelic 🏴󠁧󠁢󠁳󠁣󠁴󠁿 C) Welsh 🏴󠁧󠁢󠁷󠁬󠁳󠁿 D) Latin🏛 Take the quiz below to find out @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #468 · 11.12.2024 г., 15:55

🧱The name “LEGO” comes from the Danish words “leg godt”. What does “leg godt” mean in English? A) Build Strong B) Play Well C) Stack High D) Create Together Take the quiz below to find out @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #457 · 10.12.2024 г., 09:55

Which word is derived from the Latin term for ‘cow’? a) Vaccine b) Pasture c) Dairy d) Serum Take the quiz below to see the explanation @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #449 · 08.12.2024 г., 07:39

What language does the word “amok,” as in “to run amok,” originate from? A) Malay B) Sanskrit C) Swahili D) Tagalog Take the quiz below to find out @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #440 · 06.12.2024 г., 11:11

💴 What do the names of the currencies yen (Japan), won (South Korea), and yuan (China) mean? A) Wealth or abundance B) Circle or round C) Gold or silver D) Value or worth Take the quiz below to find out @languagetrivia#etymology

Hashtags

Language Trivia 🤔

@languagetrivia · Post #415 · 30.11.2024 г., 15:51

Which English word for a celestial body comes from the ancient Greek word meaning ‘wanderer’? A) Planet B) Star C) Comet D) Moon Take the quiz below to find out @languagetrivia#etymology

Hashtags

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