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

Резултати

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

Пребарај: #sharing

当前筛选 #sharing清除筛选

Город решил делиться В Сеуле в 2012 году на уровне города принята стратегия на развитие sharing эrономики. Для мировой практики это довольно интересный эксперимент, поскольку совместное использование организуется в максимально возможном количестве направления и в не самом маленьком городе мира. В числе существующих практик: - сервис по аренде инструмента и всяких штук для ремонта - у соседей. - библиотеки игрушек - там можно взять детские игрушки, книжки, видео напрокат - аренда спортивных площадок - аренда студентами комнат в домах и квартирах, где проживают одинокие пожилые люди #сеул#sharing

@Veronica_ecovibes

@veronica_ecovibes · Post #10 · 05.04.2022 г., 13:39

Чаты в телеграме: ⠀ 🌱 «Своп канал Москва» (информация о свопах и фримаркетах) — https://t.me/swapMoscow 🌱 «Медшеринг Москва и МО» (лекарства) — https://t.me/medicinshering 🌱 «Строй Реюз» (строительные материалы) — https://t.me/stroyreuse 🌱 «Гопсвоп чат», «Реюз» (одежда, игрушки, книги, мебель и другое) —https://t.me/gopswap_chat, https://t.me/findandreusechat 🌱 «Фудшеринг Москва все районы» (еда) — https://t.me/sharefoodinmoscow 🌱 «Обмен растениями в Москве и МО» (растения) — https://t.me/rastenia_msk 🍀🍀🍀 ⠀#foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing

@Veronica_ecovibes

@veronica_ecovibes · Post #9 · 05.04.2022 г., 13:37

Как найти Своп и Шеринг группы: ⠀ Группы во ВКонтакте: ⠀ 🍀 «Отдам даром Москва» (обувь, одежда, книги, косметика) — https://vk.com/theap 🍀 «Аптекашеринг Москва» (лекарства) — https://vk.com/aptekasharingmsk 🍀 «Стройшеринг Москва» (строительные материалы) — https://vk.com/stroisharing_msk 🍀 «Фудшеринг» (еда) — https://vk.com/sharingfood 🍀 «Зоошеринг» (вещи для животных) — https://vk.com/zoosharing 🍀 «Плантшеринг» (растения) — https://vk.com/cvetydarom 🍀 «Крафтшеринг Москва» (материалы для творчества и рукоделия) —https://vk.com/craftsharing_moscow ⠀ 🍀🍀🍀 #foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing

@Veronica_ecovibes

@veronica_ecovibes · Post #8 · 05.04.2022 г., 13:33

Что это такое своп и шеринг группы («swap» и “sharing” в переводе с англ. “обмен”) ? ⠀ 🍀это обмен ненужными, но хорошими вещами. Свопы проходят в виде фримаркета: вы приносите ненужную вам вещь, а забирайте нужную или вовсе ничего не забираете. Главный принцип свопа — никаких денег #nomoney 🍀 можно делиться информацией о ненужных вещах и договариваться об обмене в шеринг-группах или чатах в соцсетях. ⠀ ⠀ 🍀🍀🍀 #foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing

Tg Links

@TgDict · Post #9 · 09.03.2021 г., 11:27

#Start#contents#index#mark This channel publishes groups and channels according to a main directory and several subject sub-directories for index search The search keywords are as follows: One type of keywords: Nine categories of first-level keywords Two types of keywords: Second-level keywords + geographic region + language family 1. Telegraph #telegram#Promotion #Group#channel#robot #Search#index#navigation 2. Resources #Resources#Share #Sharing#Welfare#moive#music#Books 3. Broadcasting #Broadcasting #message#info#news#blog 4. Chat category #Chat #chitchat#communication#city#area #Chinese#English#language#country #Mainland#HongKong#Taiwan 5. Computer category #Computer #Hardware#software#VPN#programming 6. Life category #life #Entertainment#Game#Funny#Anime #Live#tourism 7. Subjects #Subjects #Interest#hobbies#topic 8.Industry #Industry#business 9.To be classified #notes Unclassified