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

Пребарај: #kwaito

当前筛选 #kwaito清除筛选
Tibicen

@world_music_geek · Post #120 · 26.11.2020 г., 18:00

Teno Afrika — Amapiano Selections (Awesome Tapes from Africa, 2020) #amapiano#kwaito#deep_house#South_Africa Стиль амапиано появился в середине 2010-х годов благодаря творчеству десятков молодых продюсеров из пригорода Гаутенга и быстро распространился через социальные сети. Он стал одним из самых актуальных жанров хаус-музыки в Южной Африке, объединив воедино различные музыкальные влияния, распространенные в округе Гаутенга. В нем можно услышать джазовые клавишные; басовые синтезаторы из квайто, популяного стиля африканского хауса; синтезаторы из дип-хауса; темп южно-африканского хауса конца 90-х. Светлая атмосфера и безжалостные барабаны амапиано передают южно-африкансий городской ритм, а ностальгические элементы, возможно, являются ключом к широкому успеху. 21-летний продюсер Тено Африка включил всю многогранность амапиано в свой дебют. Spotify | AppleMusic | Bandcamp

Tibicen

@world_music_geek · Post #221 · 05.10.2021 г., 15:00

Montparnasse Musique — Montparnasse Musique (Ben Bella Jazz, 2021) #electronic#kwaito#gqom#techno#tribal#house#Congo#France Montparnasse Musique — проект алжирско-французского продюсера Наджиба Бен Беллы, большого любителя африканского аутентичного звука, и южноафриканского диджея Aero Manyelo, адепт современного Йоханнесбурга, его афрохауса, техно, гком и кваито. Дуэт образовался после случайной встречи на вокзале Монпарнас в Париже, когда Aero Manyelo гастролировал с панафриканским коллективом Batuk. Cвой одноименный дебютный EP межконтинентальный дуэт записал при участии конголезских групп Kasai Allstars, Konono Nº1, Mbongwana Star и Basokin. Spotify | AppleMusic | Bandcamp

Tibicen

@world_music_geek · Post #478 · 22.11.2023 г., 09:02

Bulawayo Kwela, Elliot Phiri & David Tapfuma — Bulawayo Harare (Nyami Nyami, 2020) #dancehall#dub#kwela#mbira#chimurenga#kwaito#Zimbabwe Bulawayo Harare EP состоит из четырех треков, два из которых посвящены городу Булавайо, второму по величине в Зимбабве, а другие два — столице Зимбабве, Хараре. Первую сторону пластинки открывает трек Mysterious Africa, переполненный отсылками к дабу и дэнсхоллу. Он исполнен зимбабвийской группой Bulawayo Kwela и спродюсирован Danalogue, участником британской группы The Comet Is Coming. Запись сопровождают слова зимбабвийского поэта Альберта Найати. Второй трек исполняет верный стилю квела Эллиот Фири, видимо один из участников Bulawayo Kwela. Сторона Хараре представлена песней Дэвида Тапфума, записанной под аккомпанемент мбиры. Песня скорее всего имеет отношение к зимбабвийскому стилю популярной музыки чимуренга. Завершает пластинку ремикс песни Тапфума, сделанный Esa из Кейптауна, в котором слышно влияние южноафриканского хауса квайто. Spotify | AppleMusic | Bandcamp | VK

Tibicen

@world_music_geek · Post #739 · 03.09.2024 г., 09:05

Стили #afro_caribbean#afro_colombian#afro_house#afro_jazz#afro_soul#afro_swing#afrobeat#amapiano#ambient#anatolian#andalusian#aor#appalachian#ashik#assouf#avantfolk#balkan#ballad#bambuco#baroque#baroque_pop#bluegrass#blues#bolero#bollywood#bon#boogie#boom_bap#bossa_nova#breakbeat#broken_beat#bwiti#calypso#candomble#canterbury_scene#canzone_napoletana#caribbean#carnatic#celtic#chaabi#champeta#chanson#chanting#cheb#chicha#chimurenga#christian#city_pop#classicism#coladeira#concrete_music#cool_jazz#country#cumbia#dancehall#dark_folk#deep_house#dhikr#dhrupad#disco#doom#dream_pop#drone#drumnbass#dub#dubke#early_music#electronic#ethio_jazz#europop#field_recording#field_recordings#flamenco#free_jazz#french_pop#funana#funk#fusion#gamelan#garage#ghazal#gnawa#gospel#gqom#grime#griot#guaracha#gypsy_jazz#hard_bop#highlife#hindustani#hip_hop#house#hussars_funk#idm#indie#indofuturism#indorock#industrial#ishumar#italo_disco#jarocho#jazz#jit#joik#jongo#khaliji#khoomei#khyal#klasik#klezmer#kraut#kwaito#kwela#laika#latin#lullaby#malhun#maloya#manouche#maqam#medieval#milonga#minimal#minyo#modal_jazz#mor_lam#mugham#musica_caipira#musica_popular_brasileira#muwashahah#nasheed#neo_rebetiko#new_age#new_wave#noise#nu_disco#operetta#oriental_noise_rock#persian_classical#pop#pop_rock#post_industrial#post_punk#post_punk#postdubstep#postdubstep#progressive#proto_zouk#psychedelic#qawwali#raga#rai#rebetiko#reggae#renaissance#rnb#rock#rocksteady#romance#romanticism#roots_reggae#ryukoka#salsa#salsa_dura#samba#shaabi#shashmaqom#shoegaze#ska#soca#soft_rock#son#son_cubano#son_montuno#soukous#soul#space_rock#spiritual#sufi#surf#surti#swing#synth#synth_pop#synthpop#taarab#takamba#taksim#tango#tarana#techno#throat_singing#thumri#tishoumaren#traditional#tribal#vallenato#voodoo#wahrani#wassoulou#yacht_rock#zeuhl#zolo#zouk

Hashtags

#afro_caribbean#afro_colombian#afro_house#afro_jazz#afro_soul#afro_swing#afrobeat#amapiano#ambient#anatolian#andalusian#aor#appalachian#ashik#assouf#avantfolk#balkan#ballad#bambuco#baroque#baroque_pop#bluegrass#blues#bolero#bollywood#bon#boogie#boom_bap#bossa_nova#breakbeat#broken_beat#bwiti#calypso#candomble#canterbury_scene#canzone_napoletana#caribbean#carnatic#celtic#chaabi#champeta#chanson#chanting#cheb#chicha#chimurenga#christian#city_pop#classicism#coladeira#concrete_music#cool_jazz#country#cumbia#dancehall#dark_folk#deep_house#dhikr#dhrupad#disco#doom#dream_pop#drone#drumnbass#dub#dubke#early_music#electronic#ethio_jazz#europop#field_recording#field_recordings#flamenco#free_jazz#french_pop#funana#funk#fusion#gamelan#garage#ghazal#gnawa#gospel#gqom#grime#griot#guaracha#gypsy_jazz#hard_bop#highlife#hindustani#hip_hop#house#hussars_funk#idm#indie#indofuturism#indorock#industrial#ishumar#italo_disco#jarocho#jazz#jit#joik#jongo#khaliji#khoomei#khyal#klasik#klezmer#kraut#kwaito#kwela#laika#latin#lullaby#malhun#maloya#manouche#maqam#medieval#milonga#minimal#minyo#modal_jazz#mor_lam#mugham#musica_caipira#musica_popular_brasileira#muwashahah#nasheed#neo_rebetiko#new_age#new_wave#noise#nu_disco#operetta#oriental_noise_rock#persian_classical#pop#pop_rock#post_industrial#post_punk#postdubstep#progressive#proto_zouk#psychedelic#qawwali#raga#rai#rebetiko#reggae#renaissance#rnb#rock#rocksteady#romance#romanticism#roots_reggae#ryukoka#salsa#salsa_dura#samba#shaabi#shashmaqom#shoegaze#ska#soca#soft_rock#son#son_cubano#son_montuno#soukous#soul#space_rock#spiritual#sufi#surf#surti#swing#synth#synth_pop#synthpop#taarab#takamba#taksim#tango#tarana#techno#throat_singing#thumri#tishoumaren#traditional#tribal#vallenato#voodoo#wahrani#wassoulou#yacht_rock#zeuhl#zolo#zouk