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

Резултати

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

Пребарај: #sgp2025

当前筛选 #sgp2025清除筛选
UzVC

@UzVC_uz · Post #34 · 22.10.2025 г., 10:46

🚀🚀🚀 Завершен отбор в SGP 2.0 С июля по сентябрь проходил отбор стартапов в нашу акселерационную программу Startup Growth Program 2.0. Startup Growth Program — флагманская инициатива UzVC для развития узбекской стартап-экосистемы. 8-недельная программа включает: ✔️ менторство от экспертов из Кремниевой долины ✔️ подготовку к привлечению инвестиций ✔️ Demo Day с международными инвесторами. 🎯 Результаты отбора: В конце сентября 16 стартапов вошли в финальный шорт-лист программы из большого числа заявок. Команда UzVC и международные эксперты провели тщательный анализ всех проектов📌📌. Программа SGP 2.0 пройдет в первой половине декабря этого года. ________________________________________________________________________ 🚀🚀🚀 SGP 2.0 ga tanlov yakunlandi Iyul oyidan sentyabr oyigacha Startup Growth Program 2.0 akseleratsiya dasturiga startaplar tanlovi o'tkazildi. Startup Growth Program — UzVC ning O'zbekiston startap ekotizimini rivojlantirish uchun yetakchi tashabbusi. 8 haftalik dastur: ✔️ Kremniy vodiysi ekspertlaridan mentorlik ✔️ investitsiya jalb qilishga tayyorgarlik ✔️ xalqaro investorlar ishtirokidagi Demo Dayni o'z ichiga oladi. 🎯 Tanlov natijalari: Sentyabr oxirida ko'plab arizalar orasidan 16 ta startap dasturning yakuniy qisqa ro'yxatiga kirdi. UzVC jamoasi va xalqaro ekspertlar barcha loyihalarni sinchkovlik bilan tahlil qilishdi📌📌. SGP 2.0 dasturi joriy yilning dekabr oyining birinchi yarmida o'tkaziladi. ________________________________________________________________________ 🚀🚀🚀 SGP 2.0 Selection Completed From July to September, we conducted the selection process for startups into our Startup Growth Program 2.0 acceleration program. Startup Growth Program is UzVC's flagship initiative to develop the Uzbek startup ecosystem. The 8-week program includes: ✔️ mentorship from Silicon Valley experts ✔️ fundraising preparation ✔️ Demo Day with international investors. 🎯 Selection Results: At the end of September, 16 startups made it to the final shortlist of the program from a large number of applications. The UzVC team and international experts conducted a thorough analysis of all projects📌📌. The SGP 2.0 program will take place in the first half of December this year. 🌐Website |📷Instagram |🌐LinkedIn #UzVC#post#VC#news#SGP2025