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

Пребарај: #diet

当前筛选 #diet清除筛选
NEWS 鏈新聞-ABMedia

@abmedia_news · Post #23683 · 06.04.2026 г., 13:00

【🚀交易市場|減肥不再是特權!禮來口服減重藥 Foundayo 今上市,價格僅猛健樂 15% 】 #Foundayo#Diet 📍請見報導: https://abmedia.io/foundayo-mounjaro-wegovy 📍訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Doctor Ziyod 🩺

@doctor_ziyod · Post #557 · 20.06.2023 г., 14:01

🤷🏻‍♂️Озиш учун диеталар бефойда! Яқинда 121та тадқиқотда 14та энг машҳур диеталар таҳлил қилиб чиқилди. Натижаси сизни ҳурсанд қилмайди. Парҳез бошланганидан ярим йил ўтиб тана вазни, қон босими ва холестерин пасайган бўлсада, бир йиллик нуқтага келганда ҳаммаси ўз жойига қайтган. Фақатгина ўрта ер денгизи диетасида холестерин пастлигича қолган. 🫥Ҳозир ўзизни ёки дўстларизни эслаётган бўлсангиз керак. Диета бошлаб озасиз, кейинги йил яна эски ҳолатга қайтасиз. Ва йилдан йилга бу такрорланади. 1️⃣Буни сабаби Диеталар асосан жудоликлардан иборат ва шуни ҳисобига одамлар уларга узоқ муддат риоя қила олмайди. 2️⃣Ундан ташқари, бирдан овқатдаги ўзгаришлар билан тўқнашган организм, “очлик бошланди” деб ўйлайди ва тежамкор режимга ўтиб, аввалгидан камроқ калорияда фаолият юритади. Бу дегани, энди ҳар қандай қўшимча еган маҳсулотларингиздан кўпроқ ёғ заҳираси ҳосил бўлади. 3️⃣Яна парҳез қилаётган инсонлар вазнни меёрда ушловчи бошқа муҳим факторларни унутишади: асосийлари – кундалик жисмоний фаоллик ва уйқу. ☝️Бундан келиб чиқиб, сизга тавсиям – диета эмас, соғлом турмуш тарзига ўтинг. Фақат табий маҳсулотлар, ҳар кунги жисмоний иш ва етарлича уйқу. Манбаа: bit.ly/3NfTpiw #diet#gastroenterology#facts

🥗Make delicious salads, every time🥪🌮🍴 It's really not that difficult to make a salad. But just because it's easy doesn't mean it's a decent salad. Anyone can learn how to make the best salads using the basics and riff endlessly. #Thursday#Day-4 #Health#Fitness#Highprotien #Diet#Salads

Пп завтрак! Сэндвич без хлеба! Яйцо пашот. ⠀ Ингредиенты: ✅батат ✅авокадо ✅яйцо ✅руккола ✅филе индейки ✅соль/перец ✅оливковое масло ⠀ Отличный завтрак, залог хорошего дня! Приятного аппетита! ⠀ #авокадо#завтрак#ппзавтрак#ппсэндвич#сэндвич#пп#ппрецепт#худеемвместе#худею#куррола#пашот#яйцопашот#батат#breakfast#sandwich#diet