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

Резултати

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

Пребарај: #fas

当前筛选 #fas清除筛选
Opportunities with Zula

@opportunities_zula · Post #1007 · 15.01.2026 г., 16:13

One More Chance and Last Chance ! Apply for the Future Action Summit Australia 🇦🇺 2026 (Fully Funded) Apply: https://echochange.org/fas-australia-april-2026/?ref=20 Youth Summit in Sydney. The Program Covers Return Airfare, Accommodation, Meals, Certificates, Invitation Letter. Deadline: 18th Jan 2026 #FAS#Sydney#OpportunitiesCorners

Opportunities with Zula

@opportunities_zula · Post #906 · 30.12.2025 г., 01:55

Australia Future Action Summit 🇦🇺 2026 (Fully Funded) Apply: https://echochange.org/fas-australia-april-2026/?ref=20 International Youth Summit in Sydney in April 2026. The Program Covers Return Airfare, Accommodation, Meals, Certificates, Invitation Letter. Deadline: 12 Jan 2026 #FAS#Sydney#OpportunitiesCorners

Pro Harvard

@proharvard · Post #148 · 25.02.2026 г., 08:40

Декан наук FAS ушел в отставку Профессор биологии Джеф В. Лихтман покинул пост декана наук крупнейшего факультета Гарварда - факультета искусств и наук. Его отставка, по данным кампусных источников, связана с разногласиями вокруг резкого сокращения набора в докторантуру — до 50% по ряду научных направлений. 📚 Контекст жёсткий: федеральное финансирование исследований снижается, и факультет ищет способы сбалансировать бюджет. Один из самых чувствительных инструментов — уменьшение числа PhD-позиций. 🧠 Но для Гарварда это не просто цифры. Докторанты — основа исследовательской экосистемы, будущие профессора и нобелевские лауреаты. Сокращение наполовину — стратегическое решение с долгосрочными последствиями для научного лидерства. Вопрос остаётся открытым — как сохранить масштаб научных амбиций в эпоху финансовых ограничений? #Harvard#FAS#управление#наука#Гарвард

International News

@intnewsagency · Post #9299 · 07.04.2026 г., 08:36

FAS Approves Rosatom and DP World Deal to Buy Remaining 49% in JV The Federal Antimonopoly Service (FAS) has approved a deal between state corporation Rosatom and UAE’s DP World to acquire the remaining 49% stake in their joint venture, insiders told Izvestia. The transaction is now under review by the government’s foreign investment control commission. FAS has not yet provided official comments. Sources confirm the information is still being considered. #Rosatom#DPWorld#FAS#Investments#Russia#UAE The main news of Russia and the world ishere.