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

Пребарај: #discuss

当前筛选 #discuss清除筛选

⏱ Два года назад писали про то, как ускорить проведение качественного исследования. TL;DR: ускорить можно, но это будет стоить вам денег или человекочасов. А аналитическая фаза исследования ускоряется хуже всего. Но с тех пор произошел довольно серьезный прогресс в AI. DoveTail довольно точно расшифровывает интервью на английском по видео, распознавая и выделяя отдельных собеседников. А ChatGPT уже сейчас может довольно качественно резюмировать тексты и пересказывать их простыми словами. Мы предполагаем, что на горизонте 2-3 лет процесс кодировки цитат в качественных исследованиях смогут автоматизировать. А следующая версия ChatGPT сможет на основе этих кодировок писать вполне внятную дескриптивную версию ответов на вопросы. Из серии – обобщить достоинства и недостатки конкретного сервиса на основе мнения респондентов. Но интерпретировать поведение респондентов все равно придется самим. Как и писать выводы и рекомендации. А вы что думаете❓ #discuss

Hashtags

“Biznesda mahorat darslari” loyihasida innovatsion iqtisodiyotni rivojlantirishda IT sohasining o‘rniga bag‘ishlangan uchrashuv bo‘lib o‘tdi 🇺🇿UZB ___ The first meeting of the "Business Master Class" project was held to discuss the role of IT in developing the innovation economy 🇬🇧ENG ___ В рамках проекта «Бизнес мастер-класс» состоялась встреча посвященная роли IT сферы в развитии инновационной экономики 🇷🇺RU #GraduateSchool#GuestLecture#Business#Discuss Web-site | Telegram | Facebook | Instagram

Swift Academy

@swift_academy · Post #183 · 21.01.2025 г., 14:33

‘𝐔𝐂𝐇𝐀𝐃𝐈𝐆𝐀𝐍 𝐁𝐈𝐙𝐍𝐄𝐒’ 𝐀𝐬𝐨𝐬𝐥𝐚𝐫𝐢 - 𝐇𝐨𝐳𝐢𝐫𝐠𝐢 𝐯𝐚 𝐤𝐞𝐥𝐚𝐣𝐚𝐤 𝐮𝐜𝐡𝐚𝐫 𝐛𝐢𝐳𝐧𝐞𝐬𝐥𝐚𝐫𝐢 𝐨𝐫𝐭𝐢𝐝𝐚𝐠𝐢 𝐔𝐂𝐇𝐈𝐒𝐇 𝐟𝐨𝐫𝐦𝐮𝐥𝐚𝐥𝐚𝐫𝐢. 𝐈 - 𝐪𝐢𝐬𝐦. 𝘗𝘚: 𝘰'𝘲𝘪𝘴𝘩 𝘥𝘢𝘷𝘰𝘮𝘪𝘥𝘢 𝘖𝘱𝘵𝘪𝘮𝘢𝘭 𝘧𝘪𝘬𝘳𝘭𝘢𝘴𝘩 𝘷𝘢 𝘬𝘦𝘭𝘵𝘪𝘳𝘪𝘭𝘨𝘢𝘯 𝘪𝘧𝘰𝘥𝘢𝘭𝘢𝘳𝘥𝘢 𝘧𝘰𝘬𝘶𝘴 "𝘜𝘊𝘏𝘈𝘙" 𝘣𝘪𝘻𝘯𝘦𝘴 𝘧𝘢𝘰𝘭𝘪𝘺𝘢𝘵𝘭𝘢𝘳𝘪𝘯𝘪 𝘰𝘺𝘥𝘪𝘯𝘭𝘢𝘵𝘪𝘴𝘩𝘨𝘢 𝘲𝘢𝘳𝘢𝘵𝘪𝘭𝘨𝘢𝘯𝘭𝘪𝘨𝘪𝘨𝘢 𝘦'𝘵𝘪𝘣𝘰𝘳𝘭𝘪 𝘣𝘰'𝘭𝘪𝘴𝘩 𝘵𝘢𝘷𝘴𝘪𝘺𝘢 𝘦𝘵𝘪𝘭𝘢𝘥𝘪. Tajriba oshirish va doimiy o'z ustingizda ishlash uchun bizni YouTube da ham kuzatib borishingiz mumkin: YouTube,Instagram,LinkedIn,Telegram #opinion#discuss#business#it#course#trading#tranding