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

Пребарај: #turingaward

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

@ai_and_law · Post #522 · 10.03.2025 г., 08:04

❗️Turing Award Winners Sound the Alarm on AI Safety Andrew Barto and Richard Sutton, pioneers of foundational AI training method and recipients of this year’s Turing Award, are using their moment in the spotlight to issue a stark warning: AI companies are prioritizing profit over safety. Comparing the current approach to “building a bridge and testing it by having people use it,” they criticize the industry for rushing AI models to market without sufficient safeguards. Their concerns echo those of other leading AI researchers, including past Turing Award winners Geoffrey Hinton and Yoshua Bengio, who have also warned about the risks of unchecked AI development. With OpenAI shifting toward a for-profit model and major AI firms racing to deploy new technologies, the debate over responsible AI governance is more urgent than ever. #AI#AIGovernance#TuringAward#AISafety#ResponsibleAI

Venture Village Wall 🦄

@venturevillagewall · Post #4349 · 09.03.2025 г., 22:00

Weekly AI Digest: Key Developments 🔹 Anthropic raises $3.5B through incremental funding rounds. Read more 🔹 QwQ 32B launched, slightly trailing top performers. Details here 🔹 Wan 2.1 remains a top open-source model amid competition. Learn more 🔹 Hunyuan Image2Video: Tencent's response to Alibaba's offering. Explore here 🔹 SourceCraft introduces cloud-based team development as VM replacement. More info 🔹 Apple's Mac Studio handles demanding models and LLMs. Discover more 🔹 SpeechSense analyzes customer conversations using LLM technology. Details 🔹 RL wins Turing Award, recognized with a $1M prize. Full story 🔹 Bitcoin drops to $82,223; Ethereum to $1,998, with $243M in liquidations. Read market update. #AI#Crypto#VC#Anthropic#Bitcoin#Ethereum#Hunyuan#Tencent#AIModels#OpenSource#MacStudio#SpeechSense#Investments#Funding#TuringAward#Liquidations#QwQ#SourceCraft#SmartTech