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 слични објави

Пребарај: #microsoftdeveloperscommunity

当前筛选 #microsoftdeveloperscommunity清除筛选
MDC Uzbekistan

@mdcuzbekistan · Post #906 · 07.11.2024 г., 11:57

Microsoft Community Conference 2024 | Uzbekistan Join us for a premier gathering of the Microsoft Developers Community in Uzbekistan! The annual Microsoft Community Conference is back and promises an unparalleled experience of innovation and technology. Mark your calendar for November 30, 2024, and get ready to immerse yourself in the latest advancements and ideas shaping the tech industry. 🎉 Highlights: • Inspiring Keynote Presentations: Hear from leading tech innovators and industry experts. • Interactive Workshops: Explore hands-on sessions with the latest Microsoft tools and technologies. • Engaging Panel Discussions: Dive into trends and best practices shaping today’s tech landscape. • Networking Opportunities: Connect with fellow developers, tech professionals, and enthusiasts. 📅 Date: November 30, 2024 📍 Location: Tashkent, Uzbekistan Don’t miss out on this exciting opportunity to learn, network, and grow within a vibrant community. Whether you're a developer, tech professional, student, or simply passionate about technology, this is an event you won’t want to miss! 🔗 Register Now: https://mdcuzbekistan.com/register Stay tuned for more updates and join us in shaping the future of technology in Uzbekistan! #MDCConf2024#MicrosoftDevelopersCommunity#UzbekistanTech#TechConference#CommunityEvent @mdcuzbekistan

INHA University in Tashkent

@inha_uz · Post #8263 · 20.11.2024 г., 10:10

Microsoft Community Conference 2024 | Uzbekistan Join us for a premier gathering of the Microsoft Developers Community in Uzbekistan! The annual Microsoft Community Conference is back and promises an unparalleled experience of innovation and technology. Mark your calendar for November 30, 2024, and get ready to immerse yourself in the latest advancements and ideas shaping the tech industry. 🎉 Highlights: • Inspiring Keynote Presentations: Hear from leading tech innovators and industry experts. • Interactive Workshops: Explore hands-on sessions with the latest Microsoft tools and technologies. • Engaging Panel Discussions: Dive into trends and best practices shaping today’s tech landscape. • Networking Opportunities: Connect with fellow developers, tech professionals, and enthusiasts. 📅 Date: November 30, 2024 📍 Location: Tashkent, Uzbekistan Don’t miss out on this exciting opportunity to learn, network, and grow within a vibrant community. Whether you're a developer, tech professional, student, or simply passionate about technology, this is an event you won’t want to miss! 🔗 Register Now: https://mdcuzbekistan.com/register Stay tuned for more updates and join us in shaping the future of technology in Uzbekistan! #MDCConf2024#MicrosoftDevelopersCommunity#UzbekistanTech#TechConference#CommunityEvent @mdcuzbekistan

MDC Uzbekistan

@mdcuzbekistan · Post #910 · 20.11.2024 г., 06:01

Exciting Announcement: The Tech Joined Us as a Media Partner! We are proud to welcome The Tech as an official media partner of the MDC Uzbekistan. This partnership marks the beginning of an exciting collaboration to support all our initiatives, including hackathons, conferences, and other key events. With The Tech’s support, we’re set to expand our reach and inspire even more developers across Central Asia. Together, we’ll continue building a stronger tech community! #MicrosoftDevelopersCommunity#TheTech#MediaPartner#TechEvents#MicrosoftUzbekistan @mdcuzbekistan