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

Резултати

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

Пребарај: #environmentalengineering

当前筛选 #environmentalengineering清除筛选
Green University CA | Official

@centralasian_greenuniversity · Post #212 · 15.10.2025 г., 12:53

🇪🇺Green University Hosts the 3rd GREENDT Project Meeting! 🗣From October 14 to 17, 2025, Green University hosts the third project meeting and training seminar within the framework of the Erasmus+ GREENDT project — “Implementing Environmental Engineering Master Degrees through Sustainable Transition and Societal Change.” The GREENDT project, funded by the European Union, aims to develop and implement an innovative Master’s program in Environmental Engineering — empowering universities to train future experts who will lead sustainable transformation and support climate action. 💬The event brought together participants from European and Uzbek universities and research institutions. During the sessions, partners discussed project achievements, future plans, and took part in training activities designed to strengthen teaching and institutional capacities in the field of environmental education. #GreenUniversity#GREENDT#ErasmusPlus#Sustainability#EnvironmentalEngineering#HigherEducation#ClimateAction ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube

Green University CA | Official

@centralasian_greenuniversity · Post #275 · 30.10.2025 г., 11:38

🇮🇹Italy Delegation Visits Green University 📌On October 28, 2025, Green University welcomed a high-level Italian delegation led by H.E. Federico Failla, Ambassador Extraordinary and Plenipotentiary of Italy to Uzbekistan. ✔️During the visit, Acting Rector Sh. Nurulloyev presented the university’s educational, research, and international initiatives and guided the guests through Green University’s campus, research institutes, and climate residence. The Italian side proposed several key initiatives, including: 🟡Joint master’s programs in ecology and environmental engineering; 🟡Student and faculty exchange programs; 🟡Regional events on water management; 🟡Joint research projects on environmental protection and waste recycling; 🟡Establishment of the Italy–Central Asia Environmental Cooperation Center at Green University; 🟡Support for innovative green economy startups. #GreenUniversity#Italy#Cooperation#Sustainability#GreenFuture#EnvironmentalEngineering#Education#ClimateAction ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube