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

Резултати

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

Пребарај: #conflictresolution

当前筛选 #conflictresolution清除筛选

👥Адамдар немесе топтар арасындағы жанжалға не әсер етеді және оны қалай шешуге болады? 👤Осы туралы 1950 жылдары америкалық психолог Музафер Шериф Оклахома штатындағы балалар лагерінде зерттеу жүргізді. Әлеуметтік психологияда бұл тәжірибе The Robbers cave (Қарақшылар үңгірі) деген атаумен танымал. 🔍Толығырақ карусельден оқыңыз ___ 👥Что приводит к межгрупповому конфликту и как можно его разрешить? 👤В 1950-х годах американский психолог Музафер Шериф провел исследование в детском лагере в Оклахоме. В социальной психологии исследование известно как Robbers cave experiment (Пещера разбойников). 🔍Подробнее об эксперименте можно узнать в карусели. #ҚҚДИ#KIPD #SocialPsychology#ConflictResolution#RobbersCaveExperiment

Crypto M - Crypto News

@CryptoM · Post #64919 · 10.04.2026 г., 09:28

🚀 Ukraine's Negotiator Optimistic About Peace Deal with Russia Ukraine's chief negotiator with Russia has expressed optimism about reaching a peace agreement with Russian President Vladimir Putin in the near future. Bloomberg posted on X, highlighting the negotiator's belief that a resolution to the ongoing conflict could be achieved soon. This development comes amid ongoing tensions and efforts to find a diplomatic solution to the hostilities between the two nations. The negotiator's comments suggest a potential breakthrough in the peace talks, which have been a focal point for international observers. The situation remains fluid, with both sides continuing to engage in discussions aimed at ending the conflict. #Ukraine#Russia#PeaceTalks#Diplomacy#ConflictResolution#InternationalRelations

የኢትዮጵያ ሀገራዊ ምክክር፡ ለዘላቂ ሰላምና ለጋራ ብሔራዊ ስምምነት አዲስ ምዕራፍ **************** የኢትዮጵያ ሀገራዊ ምክክር ኮሚሽን ከተመሠረተበት ጊዜ ጀምሮ በርካታ ውስብስብ ፈተናዎችን እየተጋፈጠ፣ ሀገራዊ መግባባትን ለማስፈን የሚያስችሉ ተጨባጭ ሥራዎችን በትጋት እያከናወነ ይገኛል። በሂደቱ በዋናነት ሁሉንም የኅብረተሰብ ክፍል ያሳተፈ፣ አካታችና ተዓማኒ ለማድረግ የሚያስችሉ የዝግጅት ተግባራትን ቅድሚያ ሰጥቶ ሲያከናውን ቆይቷል። ኮሚሽኑ ጠንካራ ተቋማዊ አወቃቀርና የሕግ ማዕቀፍ በመዘርጋት ለሥራው ምቹ ሁኔታ ከመፍጠሩም ባለፈ፣ በአዲስ አበባና በተለያዩ ክልሎች ሕዝባዊ ተሳትፎን መሠረት ያደረገ የተሳታፊዎች ልየታና የአጀንዳ ማሰባሰብ ሥራዎችን በስኬት አከናውኗል። #NationalDialogue#PeaceBuilding#ConflictResolution#NationalConsensus#EastAfrica#InclusiveDialogue

Crypto M - Crypto News

@CryptoM · Post #65219 · 12.04.2026 г., 04:08

🚀 Polymarket Odds Drop as Iran-Israel/US Conflict Talks Stall Polymarket odds for the Iran-Israel/US conflict ending before April 15 have decreased to 47%, marking a 22% drop within 24 hours. According to NS3.AI, the odds for the conflict concluding before April 30 have also fallen to 55%, down 16%. This decline follows the latest round of US-Iran talks, which ended without reaching an agreement. #Polymarket#IranIsraelConflict#USTalks#IranUSRelations#OddsDrop#ConflictResolution#April15#April30

Crypto M - Crypto News

@CryptoM · Post #65062 · 10.04.2026 г., 17:45

🚀 Iran's Leadership Revamp Amid Peace Talks with the US The ongoing conflict in Iran has prompted significant changes in the nation's leadership structure. Bloomberg posted on X that the Revolutionary Guards are set to play a pivotal role in the upcoming peace negotiations with the United States this weekend. This shift in power dynamics underscores the growing influence of the Revolutionary Guards in Iran's political landscape. The talks are expected to address key issues surrounding the conflict and aim to establish a framework for peace. Observers are closely watching how the involvement of the Revolutionary Guards will impact the discussions and the potential outcomes of these negotiations. #Iran#LeadershipRevamp#PeaceTalks#RevolutionaryGuards#USIranRelations#PoliticalLandscape#ConflictResolution#IranPolitics#PeaceNegotiations

Crypto M - Crypto News

@CryptoM · Post #65141 · 11.04.2026 г., 11:36

🚀 Russia and Ukraine Conduct Prisoner Swap Mediated by UAE Russia and Ukraine have successfully exchanged 175 prisoners of war, with the United Arab Emirates playing a mediating role in the process. Bloomberg posted on X, highlighting the significance of this exchange amid ongoing tensions between the two nations. The swap marks a notable development in the efforts to address humanitarian concerns arising from the conflict. Both countries have been engaged in a prolonged conflict, and such exchanges are seen as steps towards easing tensions and addressing the humanitarian impact of the war. The involvement of the UAE underscores the international community's interest in facilitating dialogue and resolution between Russia and Ukraine. This exchange is part of ongoing efforts to manage the humanitarian aspects of the conflict, which has drawn widespread international attention. #Russia#Ukraine#PrisonerSwap#UAE#HumanitarianEfforts#ConflictResolution#InternationalDiplomacy#HumanitarianImpact#Tensions#War