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

Резултати

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

Пребарај: #viksitbharat

当前筛选 #viksitbharat清除筛选

#MyGov पल्स - सिटीजन कनेक्ट पाक्षिक न्यूज़लेटर के इस अंक में 2023 में भारत की ऐतिहासिक उपलब्धियों और #ViksitBharat की दिशा में प्रगति से संबंधित उपलब्धियों को जानें। पूरा पढ़ें: https://static.mygov.in/static/s3fs-public/mygov_170349057782937911.pdf

जिन मुद्दों को दशकों तक किया गया नजरअंदाज, प्रधानमंत्री नरेंद्र मोदी के नेतृत्व में बीते 10 वर्षों में उनका हुआ कायाकल्प। आइए देखें... #PMModi#NewIndia #ViksitBharat

MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #13292 · 25.10.2024 г., 14:36

We got this, and #ViksitBharat is all about it! Don’t miss this week’s #FridaysAtMyGov to see young minds sharing their vision for #NewIndia 2047 and how, with government support, they are flexing their skills to build the future they want To watch the full episode, visit: https://www.youtube.com/watch?v=mmZFDtR_LrE

सहकारिता - विकसित भारत की असली ताकत! खेती, डेयरी, बैंकिंग, बीज, निर्यात और सेवाओं तक; सहकारिता का मॉडल किसानों, कामगारों और ग्रामीण भारत को सशक्त बनाकर ‘सहकार से समृद्धि’ की राह को मजबूत कर रहा है। आइए इस 🧵 द्वारा जानें: https://x.com/i/status/2030890080014156147 #SahkarSeSamriddhi#ViksitBharat

MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #13316 · 08.01.2025 г., 16:37

This week, MyGov India hosts Soumitra Dutta, professor at the University of Oxford and author of 'From Gridlock to Growth: How Leadership Enables India's Pragati Ecosystem to Power Progress'. Explore how PRAGATI has transformed the delivery of major infrastructure projects and propelled India’s progress to new heights. Don’t miss this opportunity to gain valuable insights into the transformative journey of #NewIndia! Watch the full episode: https://youtu.be/VTp4fv1H31k #PRAGATI #ViksitBharat

भारत की डिजिटल क्रांति की ऐतिहासिक छलांग! अगस्त में UPI लेनदेन ने पहली बार 20 अरब का आँकड़ा पार किया #DigitalIndia#UPI#ViksitBharat

MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #13331 · 24.01.2025 г., 17:40

All aboard the future of rail travel!🚆 This #FridaysAtMyGov, experience the engineering marvel #VandeBharat Express, now connecting Delhi to Srinagar under the visionary #MakeInIndia initiative. Ready to tackle snow, designed for comfort, and built for innovation, it's a symbol of #ViksitBharat in motion. Watch the full video now: https://www.youtube.com/watch?v=LmufFHQY2gc #NewIndia

MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #13330 · 23.01.2025 г., 03:40

NRIs aren’t just Indians abroad—they’re Bharat’s global power. #PravasiBharatiyaDivas celebrates this unbreakable bond. A day that honours the spirit of NRIs, proving that distance can never weaken their connection with Bharat Watch their inspiring journeys and hear their views on Bharat’s global rise under PM Narendra Modi’s visionary leadership 🎥 To watch the full video, visit: https://youtu.be/-g65oAFX5Yg?si=n1XUY7r1c66BnkRs #ViksitBharat #NewIndia #PBD2025

MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #13312 · 06.01.2025 г., 12:35

5 Crore Voices. 5 Crore Dreams. 5 Crore Saathis. MyGov.in, launched by PM Narendra Modi, has achieved the incredible milestone of reaching 5 crore subscribers! 🎉 Thank you to every Saathi for being a part of this vibrant community! Let's continue to engage, inspire, and shape a #ViksitBharat together. #5CroreSaathis #MyGovSaathis #NewIndia

MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #13238 · 09.08.2024 г., 05:50

'करेंगे और कर के रहेंगे' विकसित भारत का संकल्प! On August 9, 1942, we united with a powerful resolve for freedom. #QuitIndiaMovement#UnityInStrength#TransformingIndia#ViksitBharat

MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #13284 · 27.09.2024 г., 16:09

Get ready for another thrilling episode of Fridays At MyGov! Join us as we take you inside the cutting-edge Namo Bharat Rapid Train, redefining travel with its air-conditioned, secure, and modern features. It's not just a ride—it's an experience of convenience and innovation! Watch the full episode: https://www.youtube.com/watch?v=2DOooLw01bo Stay tuned for more episodes celebrating Viksit Bharat. #FridaysAtMyGov#ViksitBharat#NamoBharat#RapidRail

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