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

Пребарај: #supercomputing

当前筛选 #supercomputing清除筛选
AI & Law

@ai_and_law · Post #340 · 27.06.2024 г., 07:04

EU Council Adopts Regulation to Boost AI Development with Supercomputing Power The Council of the EU has officially adopted an amendment to the regulation on the European High-Performance Computing (EuroHPC) joint undertaking, paving the way for the creation of AI factories. With this regulation, the EuroHPC initiative will promote AI factories that include AI supercomputers, associated data centers, and specialized supercomputing services. These facilities will provide both public and private users with access, with specific conditions tailored for startups and SMEs. Host entities of AI factories will receive EU financial support, covering up to 50% of both acquisition and operating costs of AI supercomputers. The regulation will be published in the Official Journal of the European Union and will enter into force 20 days later, marking a significant step towards enhancing AI development and innovation across Europe. #AI#Supercomputing

科技&趣闻&杂记

@kejiqu · Post #4338 · 09.04.2026 г., 10:13

黑客声称从中国国家超级计算中心窃取 10 PB 敏感数据,此举将成为中国历史上最大规模的网络攻击,涉及科学、国防等领域 6,000 个客户 黑客声称已从中国国家超级计算中心窃取高达 10 petabytes 的敏感数据,如果属实,这将成为中国历史上规模最大的网络攻击事件。此次攻击影响范围广泛,涉及约 6,000 个客户,涵盖科学、国防等多个领域。目前事件的真实性尚未得到独立验证,但黑客声称掌握了大量敏感信息。安全专家正在对此事件进行分析。Tom's Hardware 🏷#China#National#Supercomputing#Center#petabytes#data#breach 📢频道👥群组📝投稿