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

Резултати

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

Пребарај: #mobileapps

当前筛选 #mobileapps清除筛选
IT Events RU

@iteventsru · Post #181 · 21.02.2018 г., 10:13

🔥 Сегодня e-Legion митап: iOS-разработка 📅 21 февраля / 18:30 (время МСК) / онлайн 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/L5TAUz 21 февраля соберём питерских iOS-разработчиков в офисе Яндекса, чтобы пообщаться и поделиться опытом. — Как сократить время «оживления» макета, не жертвуя при этом производительностью. — Какие методы передачи данных использовать при взаимодействии Watch App с приложением-компаньоном iOS. — Что превращает крупные мобильные проекты в Legacy. Формат: три доклада, вопросы из зала и чата трансляции, дискуссия за поеданием пиццы. Регистрация обязательна. Необходимо взять паспорт для получения пропуска на входе. Количество мест ограничено. Трансляция будет. 🔗 Программа: https://goo.gl/L5TAUz #iOS#mobileapps#online#онлайн

IT Events RU

@iteventsru · Post #174 · 20.02.2018 г., 16:13

✅ Завтра e-Legion митап: iOS-разработка 📅 21 февраля / 18:30 (время МСК) / онлайн 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/L5TAUz 21 февраля соберём питерских iOS-разработчиков в офисе Яндекса, чтобы пообщаться и поделиться опытом. — Как сократить время «оживления» макета, не жертвуя при этом производительностью. — Какие методы передачи данных использовать при взаимодействии Watch App с приложением-компаньоном iOS. — Что превращает крупные мобильные проекты в Legacy. Формат: три доклада, вопросы из зала и чата трансляции, дискуссия за поеданием пиццы. Регистрация обязательна. Необходимо взять паспорт для получения пропуска на входе. Количество мест ограничено. Трансляция будет. 🔗 Программа: https://goo.gl/L5TAUz #iOS#mobileapps#online#онлайн

IT Events RU

@iteventsru · Post #308 · 21.03.2018 г., 16:13

✅ Через неделю ✅ Pytup 📅 28 марта / 18:30–20:30 (время Екатеринбургское, МСК+2) / Екатеринбург, ул. Хохрякова д.10, БЦ «Палладиум», 4 этаж 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/mYKbxc Приглашаем Python-разработчиков послушать доклады экспертов, задать им вопросы и поговорить на профессиональные темы в кругу единомышленников. На встрече мы обсудим расширение на Rust, непредсказуемость кода и приложение, которое помогает вывести продукт на рынок. 🔗 Программа: https://goo.gl/TisbTD #frontend#python#Екатеринбург ✅ BIG DATA 2018 📅 28 марта / 09:30–18:00 (время МСК) / Москва, 1-й Зачатьевский пер., д. 4 💵 Платно 📝 Регистрация и условия участия тут: https://goo.gl/Rajgce BIG DATA 2018 — это исчерпывающая картина текущего состояния и перспектив индустрии больших данных. Участие в форуме поможет Вам выбрать правильное направление и найти надежных попутчиков на сложном пути перехода к цифровой экономике — экономике, основанной на данных. 🔗 Программа: https://goo.gl/RYpiwQ #BigData#Москва ✅ Android Paranoid 📅 28 марта / 18:00–21:30 (время МСК) / Санкт-Петербург, Пискарёвский проспект, д.2к2, лит.Щ, БЦ «Бенуа», 5 этаж 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/5D5TCE В этом году Андроиду исполняется десять лет. Отличный повод встретиться и поговорить про легендарную мобильную ОС! 😉 🔗 Программа: https://goo.gl/xHz2Hg #android#java#mobile#mobileapps#СанктПетербург

IT Events RU

@iteventsru · Post #327 · 28.03.2018 г., 10:13

🔥 Сегодня 🔥 Он-лайн встреча: Соцсети: как продавать через персонализацию в тексте? 📅 28 марта / 19:00 (время МСК) / онлайн 💵 Бесплатно 📝 Регистрация: https://goo.gl/4t83PF Все меняется. И тексты тоже. Как писать, чтобы продажи не падали и повышалась лояльность аудитории? На он-лайн встрече, мы разберем это! #online#webinar#smm#text#copyrating 🔥 Pytup 📅 28 марта / 18:30–20:30 (время Екатеринбургское, МСК+2) / Екатеринбург, ул. Хохрякова д.10, БЦ «Палладиум», 4 этаж 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/mYKbxc Приглашаем Python-разработчиков послушать доклады экспертов, задать им вопросы и поговорить на профессиональные темы в кругу единомышленников. На встрече мы обсудим расширение на Rust, непредсказуемость кода и приложение, которое помогает вывести продукт на рынок. 🔗 Программа: https://goo.gl/TisbTD #frontend#python#Екатеринбург 🔥 Android Paranoid 📅 28 марта / 18:00–21:30 (время МСК) / Санкт-Петербург, Пискарёвский проспект, д.2к2, лит.Щ, БЦ «Бенуа», 5 этаж 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/m66Hba В этом году Андроиду исполняется десять лет. Отличный повод встретиться и поговорить про легендарную мобильную ОС! 😉 🔗 Программа: https://goo.gl/ZmmuvH #android#java#mobile#mobileapps#СанктПетербург

IT Events RU

@iteventsru · Post #326 · 27.03.2018 г., 10:13

✅ Завтра ✅ Он-лайн встреча: Соцсети: как продавать через персонализацию в тексте? 📅 28 марта / 19:00 (время МСК) / онлайн 💵 Бесплатно 📝 Регистрация: https://goo.gl/4t83PF Все меняется. И тексты тоже. Как писать, чтобы продажи не падали и повышалась лояльность аудитории? На он-лайн встрече, мы разберем это! #online#webinar#smm#text#copyrating ✅ Pytup 📅 28 марта / 18:30–20:30 (время Екатеринбургское, МСК+2) / Екатеринбург, ул. Хохрякова д.10, БЦ «Палладиум», 4 этаж 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/mYKbxc Приглашаем Python-разработчиков послушать доклады экспертов, задать им вопросы и поговорить на профессиональные темы в кругу единомышленников. На встрече мы обсудим расширение на Rust, непредсказуемость кода и приложение, которое помогает вывести продукт на рынок. 🔗 Программа: https://goo.gl/TisbTD #frontend#python#Екатеринбург ✅ Android Paranoid 📅 28 марта / 18:00–21:30 (время МСК) / Санкт-Петербург, Пискарёвский проспект, д.2к2, лит.Щ, БЦ «Бенуа», 5 этаж 💵 Бесплатно 📝 Регистрация тут: https://goo.gl/x6Mn69 В этом году Андроиду исполняется десять лет. Отличный повод встретиться и поговорить про легендарную мобильную ОС! 😉 🔗 Программа: https://goo.gl/8et4gu #android#java#mobile#mobileapps#СанктПетербург

Venture Village Wall 🦄

@venturevillagewall · Post #4044 · 01.02.2025 г., 10:00

Weekly AI Opportunities and Updates 1️⃣ OpenAI launched o3-mini model in chat and API, with function calls and structured output support. Price reduced to just above DeepSeek R1. Read more 2️⃣ Jack Dorsey's Block released Goose, an open-source AI agent for engineering tasks, using Model Context Protocol. Read about it 3️⃣ Groq added support for DeepSeek R1, achieving vastly superior inference speeds with LPU chips. See details 4️⃣ Samsung's XR glasses Project Moohan reviewed with emphasis on AI assistant Gemini and Android XR OS. Watch the review 5️⃣ Appfigures report shows US accounts for 2/3 of AI app revenue, with over half of ChatGPT users ages 18-24, mostly men. View the report #AI#Crypto#VC#OpenAI#DeepSeek#Groq#Samsung#Block#ChatGPT#MobileApps#Engineering#XR#Startups#ElizaOS#TON#DeFi#Blockchain#Web3#US#MarketTrends#AppFigures#AIagent