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

Резултати

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

Пребарај: #independenceday

当前筛选 #independenceday清除筛选
MPA GLOBAL

@mpa_creative · Post #196 · 01.09.2022 г., 10:49

Ассалому алайкум Ахли ватандошим! Энг улуғ Энг азиз аём Мустақиллигимизнинг 31 йиллиги байрами билан барчангизни самимий муборакбод этаман сиҳат-саломатлик, хонадонларингизга файзу барака ва фаровонлик тилайман. Мустақил Ватанимизнинг тинчлиги, гуллаб-яшнаши ҳамда равнақи йўлида олиб бораётган фаолиятингизда омад ва зафарлар ёр бўлсин! Мустақиллик истиқлолимиз абадий бўлсин! Хурмат билан Нафосат! #independenceday#uzbekistan🇺🇿 @nafosat_uz

स्वतंत्रता दिवस के अवसर पर प्रधानमंत्री नरेंद्र मोदी ने लाल किले की प्राचीर से विकसित भारत के लक्ष्य को प्राप्त करने हेतु देशवासियों के साथ कई लक्ष्य निर्धारित किए। आइए इस 🧵 द्वारा जानें... #IndependenceDay #PMModi

Russian MFA 🇷🇺

@MFARUSSIA · Post #28218 · 04.02.2026 г., 08:03

🇱🇰On February 4, Sri Lanka celebrates Independence Day - a defining moment in the country’s history. On this day back in 1948, Ceylon (officially renamed Sri Lanka in 1972) gained independence from the British rule, ending nearly 450 years of European colonial domination by the Portuguese, Dutch, and British. Independence was achieved through constitutional means, making Sri Lanka one of the first countries in South Asia to peacefully secure sovereignty through negotiation. 📝 Colonial policies, including the British “divide and rule” approach and the plantation-based economic model, significantly reshaped the island’s social structure and economy, with long-term consequences for interethnic relations and development. The independence movement was driven by political leaders, youth organizations, trade unions, and the Buddhist revival movement, which played a key role in preserving national identity, language, and cultural traditions. Sri Lanka, being one of the founding members of Non-Aligned Movement, has been steadily following a non-aligned foreign policy and remains an active participant in international and regional organizations. 🤝Diplomatic relations between our country and Sri Lanka were established on February 19, 1957. Over the decades, bilateral cooperation has expanded in areas such as education, culture, humanitarian exchanges, and people-to-people contacts, developing in a spirit of friendship, trust, and mutual respect. 💬Levan Dzhagaryan, Ambassador of Russia to Sri Lanka: I warmly congratulate the people of Sri Lanka on their national holiday and wish the country peace, stability, prosperity, and continued development. #SriLanka#IndependenceDay

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