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

Пребарај: #sparktts

当前筛选 #sparktts清除筛选
Kun.uz AI

@kunuzai · Post #235 · 08.03.2025 г., 07:33

💬Sunʼiy intellekt dunyosidagi hafta dayjesti 🎓OpenAI yangi NextGenAI dasturini ishga tushirdi OpenAI taʼlim va ilmiy tadqiqotlarni sunʼiy intellekt yordamida rivojlantirish uchun 50 mln dollar ajratdi. Loyihada Garvard, Kaliforniya texnologiya instituti, MIT kabi dunyoning 15 yetakchi ilmiy markazlari ishtirok etadi. Maqsad — ilm-fan va real biznes sohalarini AI yordamida bog‘lash. 🔗Batafsil 🖥Xitoy RISC-V chiplarini qo‘llab-quvvatlashni kengaytirmoqda Xitoy yangi siyosat ishlab chiqib, ochiq kodli RISC-V chiplarini milliy miqyosda ommalashtirishni rejalashtirmoqda. Maqsad — G‘arb texnologiyalariga qaramlikni kamaytirish. Qualcomm kabi kompaniyalar ham bu arxitekturani rivojlantirishga kirishdi. 🔗Batafsil 🎧Stability AI va Arm smartfonlarga generativ audio texnologiyasini olib keldi Endi telefoningizda yuqori sifatli audio va tovush effektlarini internetga ulanmasdan yaratishingiz mumkin. Stable Audio Open texnologiyasi yordamida audio generatsiya jarayoni Armv9 protsessorlarda 30 marta tezlashdi (240 soniyadan 8 soniyagacha). 🔗Batafsil 🌐Opera brauzerida sunʼiy intellekt-agenti — Operator ishga tushmoqda Opera yangi Operator brauzerini eʼlon qildi. Brauzer o‘z ichiga AI-agentni olib, foydalanuvchi topshiriqlarini mustaqil bajaradi: xaridlarni amalga oshiradi, obunalarni boshqaradi va bank operatsiyalarini nazorat qiladi. Operator yaqin vaqt ichida foydalanishga topshiriladi. 🔗Batafsil 🤖Amazon GPT-o’ga raqobatchi yangi AI modelini tayyorlamoqda Amazon "Nova" deb nomlangan kuchli sun’iy intellekt modelini taqdim etishga hozirlanmoqda. Ushbu model dasturlash va murakkab matematik hisob-kitoblarni amalga oshirishda yuqori natijalarni ko‘rsatadi. Model iyun oyida rasman e’lon qilinadi. 🔗Batafsil #Google#Storm#RiscV#Opera#Amazon#SparkTTS