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

Резултати

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

Пребарај: #greendevelopment

当前筛选 #greendevelopment清除筛选

📍 "የነገዋ አፍሪካ ብርሃን፦" ጠቅላይ ሚኒስትር ዐቢይ አሕመድ ለቀጣዩ ትውልድ የሚተርፍ የንጹህ ኃይል መሠረት መጣሉን ተናገሩ የ21ኛው ክፍለ ዘመን ሁለተኛ አጋማሽ የ"አፍሪካ ዘመን" እንዲሆን ዛሬውኑ ጠንካራ መሠረት መጣል እንደሚገባ ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) አሳሰቡ። ጠቅላይ ሚኒስትሩ አፍሪካን ወደ ላቀ ዕድገት የሚያሻግሩ ሁለት ቁልፍ ምሰሶዎችን ጠቁመዋል፦ 🔹 ብቁ ትውልድ መገንባት፦ በሕፃናት ትምህርት ላይ መዋዕለ ንዋይ በማፍሰስ ነገን የሚረከብ ብቁ ዜጋ ማዘጋጀት። 🔹 ከተፈጥሮ ጋር የተስማማ ልማት፦ አካባቢን የማይበክልና ለቀጣይ ትውልድ የሚተርፍ የአረንጓዴ መሰረተ ልማት ግንባታን ማፋጠን። ቁልፍ ነጥቦች፦ ✅ የንጹህ ኃይል ስጦታ፦ ኢትዮጵያ ለቀጣዩ የአፍሪካ ዕድገት የምታበረክተው ትልቁ ስጦታ ከውኃ፣ ከንፋስና ከጂኦተርማል የሚመነጭ ታዳሽ ኃይል መሆኑ ተገልጿል። ✅ የሕዳሴው ግድብ ፋይዳ፦ "የሕዳሴ ግድብ አፍሪካውያን ከተደመሩ አንጋፋ ሥራዎችን ጀምረው መጨረስ እንደሚችሉ ያሳየን የምሳሌነት ምልክት ነው" - ጠቅላይ ሚኒስትር ዐቢይ አሕመድ። ✅ አረንጓዴ ዕድገት፦ ካለፈው ክፍለ ዘመን በተቃራኒ፣ የኢትዮጵያ የኢኮኖሚ ጉዞ ተፈጥሮን የማይበክልና አህጉራዊ ትስስርን የሚያጠናክር እንደሆነ ተረጋግጧል። ኢትዮጵያ ዛሬ የምትጥለው መሠረት ለነገዋ አፍሪካ የብልፅግና ጮራ እና የታዳሽ ኃይል ማዕከልነቷ ዋስትና መሆኑ ተመላክቷል። #Ethiopia#LightOfAfrica#CleanEnergy#GreenDevelopment#GERD#AfricaRising#ኢትዮጵያ

Green University CA | Official

@centralasian_greenuniversity · Post #1101 · 24.04.2026 г., 06:03

ECO Launches High-Level Dialogue Platform on Environmental Cooperation in Astana 🔴On 23 April 2026, The ECO High-Level Dialogue Platform on Environmental Cooperation was launched in Astana, marking a new step in regional cooperation. 🔴The session brought together high-level representatives, international organizations, and academic institutions to discuss pressing transboundary environmental challenges, including climate change, biodiversity loss, pollution, and land degradation. 🔴Key outcomes included the formal launch of the HLDP as a strategic cooperation platform and agreement to develop a roadmap for future regional engagement. #ECO#EnvironmentalCooperation#ClimateAction#Sustainability#GreenDevelopment#Astana2026 ________________________ IHT ekologik hamkorlik bo‘yicha yuqori darajadagi muloqot platformasini Ostona shahrida ishga tushirdi ⏺2026-yil 23-aprel kuni IHTning Ekologik hamkorlik bo‘yicha yuqori darajadagi muloqot platformasi Ostona shahrida ishga tushirildi. Bu mintaqaviy mustahkamlash yo‘lidagi yangi bosqichni anglatadi. ⏺Sessiya davomida yuqori darajadagi vakillar, xalqaro tashkilotlar hamda akademik muassasalar ishtirok etib, iqlim o‘zgarishi, bioxilma-xillikning yo‘qolishi, ifloslanish va yer degradatsiyasi kabi dolzarb transchegaraviy ekologik muammolar muhokama qilindi. ⏺Asosiy natijalar qatorida HLDPning strategik hamkorlik platformasi sifatida rasmiy ishga tushirilishi hamda kelgusidagi mintaqaviy hamkorlik bo‘yicha yo‘l xaritasini ishlab chiqish bo‘yicha kelishuv qayd etildi. #IHT#EkologikHamkorlik#IqlimOzgarishi#BarqarorRivojlanish#YashilRivojlanish#Ostona2026 ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube