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

Резултати

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

Пребарај: #africaunited

当前筛选 #africaunited清除筛选

ከአየር መንገድ በላይ የአፍሪካውያን የከፍታ ምልክት ***************** የኢትዮጵያ አየር መንገድ ሰማዩን ብቻ ሳይሆን የአፍሪካውያንን ሥነ-ልቦና እንዴት ቀየረው? ከኔልሰን ማንዴላ የነፃነት ጉዞ እስከ ኮቪድ-19 ክፉ ቀን፤ አየር መንገዱ ለአህጉሪቱ "የሕይወት መስመር" የሆነበትን አስደናቂ ታሪክ ይዘንላችሁ ቀርበናል። በመጣጥፉ ውስጥ የተካተቱ ነጥቦች፦ • የፓን-አፍሪካዊነት ሕያው ምሰሶነቱ • የቴክኖሎጂ የበላይነቱ (Dreamliner & Airbus A350) • ግዙፉ የቢሾፍቱ አውሮፕላን ማረፊያና የ2040 ራዕይ • "ኢትዮጵያዊ በስም፣ አፍሪካዊ በተግባር" የመሆኑ ምስጢር ሙሉውን መጣጥፍ በድረ-ገጻችን ያንብቡ፦ https://www.ebc.et/Home/NewsDetails?NewsId=4241 #EthiopianAirlines#AfricaUnited#PanAfricanism#AviationExcellence#InvestInEthiopia

ሙሉ በሙሉ በኢትዮጵያ ሴት አብራሪዎች የተመራው የበረራ ቡድን በናሚቢያ ፕሬዚዳንት ደማቅ አቀባበል ተደረገለት *************** ሙሉ በሙሉ በኢትዮጵያ ሴት አብራሪዎች የተመራው የበረራ ቡድን በናሚቢያ ፕሬዚዳንት ኔቱምቦ ናንዲ-ንዳይትዋህ (ዶ/ር) ደማቅ አቀባበል ተደርጎለታል። ዓለም አቀፍ የሴቶችን ቀን በማስመልከት በኢትዮጵያ የአየር መንገድ ሙሉ በሙሉ በሴት አብራሪዎች የተመራው የበረራ ቡድን ፣ በናሚቢያ መሬት ላይ ሲያርፍ እጅግ ደማቅና ታሪካዊ አቀባበል ተደርጎለታል። ይህ የሴቶችን አቅም ለዓለም ያስመሰከረ ጉዞ፣ በናሚቢያ ፕሬዚዳንት ልዩ አቀባበል እንደተደረገለት የአየር መንገዱ መረጃ ያመላክታል። #WomenInAviation#EthiopianAirlines#Namibia#WomenEmpowerment#AfricaUnited#EthiopianBroadcastingCorporation

"ይህ 2026 እንጂ 1946 አይደለም፤ አፍሪካ በጸጥታው ምክር ቤት ቋሚ መቀመጫ ሊኖራት ይገባል" - አንቶኒዮ ጉቴሬዝ ******************* የተባበሩት መንግሥታት ድርጅት (ተመድ) ዋና ጸሐፊ አንቶኒዮ ጉቴሬዝ በ39ኛው የአፍሪካ ኅብረት የመሪዎች ጉባኤ ላይ ባደረጉት ንግግር፤ አፍሪካ በተመድ ውስጥ በሁሉም እንቅስቃሴዎች ቀዳሚ ተሳታፊ እንደምትሆን ገለጹ። ዋና ጸሐፊው በ39ኛው የአፍሪካ ኅብረት ጉባኤ ላይ ባደረጉት ንግግር፤ "እስከ ሥልጣን ዘመኔ መጨረሻ ድረስ አፍሪካ በተመድ ውስጥ ያላት ሚና ከቀዳሚዎቹ ተርታ እንዲሰለፍና በሁለቱ ተቋማት መካከል ያለው አጋርነት ከምንጊዜውም በላይ እንዲጠነክር ለመስራት ቃል እገባለሁ" ብለዋል። የአፍሪካ ኅብረት የቅኝ ግዛት ትግሎችን በጋራ ከመምራት ጀምሮ "ለአፍሪካ ችግሮች አፍሪካዊ መፍትሔ" በሚል መርህ እስከ ዛሬ የዘለቀ ተቋም መሆኑን ዋና ጸሐፊው አውስተዋል። ይሁን እንጂ በሱዳን፣ በዲሞክራቲክ ኮንጎ እና በአንዳንድ የአፍሪካ ሀገራት የሚታየውን አለመረጋጋት ለመፍታት ኅብረቱ በትኩረት እንዲሰራ አሳስበዋል። የአየር ንብረት ለውጥን ተጽዕኖ ለመቋቋም ሀገራት የታዳሽ ኃይል አማራጮችን እንዲጠቀሙ ኅብረቱ ማበረታታት እንዳለበትም ጠቁመዋል፡፡ "ይህ 2026 እንጂ 1946 አይደለም፤ በመሆኑም አፍሪካ በተመድ የጸጥታው ምክር ቤት ቋሚ መቀመጫ ሊኖራት ይገባል" ሲሉም አንቶኒዮ ጉቴሬዝ ንግግራቸውን አጠቃለዋል። በሀብተሚካኤል ክፍሉ #EthiopianBroadcastingCorporation#AUSummit39#AntonioGuterres#AfricanUnion#UN#GlobalPeace#AfricaUnited