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

Резултати

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

Пребарај: #tavini

当前筛选 #tavini清除筛选
Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39183 · 10.05.2022 г., 16:35

#Sondaggi#Francia Sondaggio di OpinionWay sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 310-350 seggi #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini)|LEFT|S&D|G/EFA: 135-165 #LR-#UDI-#LC|EPP|RE: 50-70 #RN|ID: 20-40 Altri: 5-10 Data rilevazione: 5-9 maggio Intervistati: 3077 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39957 · 12.06.2022 г., 18:08

#Elezioni#Francia Exit poll di Ifop sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 275-310 seggi #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 182-210 #LR-#UDI-#LC|EPP|RE: 40-60 #RN|ID: 10-25 DVG|Centro-sinistra|Sinistra: 7-13 Altri: 4-10 DVD|Centro-destra|Destra: 2-8 Totale seggi: 577 Maggioranza: 289 @UltimoraPolitics24

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39959 · 12.06.2022 г., 18:23

#Elezioni#Francia Exit poll di Elabe sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 270-310 seggi #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 170-220 #RN|ID: 15-30 #LR-#UDI-#LC|EPP|RE: 33-53 Altri: 3-9 DVD|Destra: 2-5 DVG|Sinistra: 0-5 #DLF-#LP|Destra radicale: 0-2 DSV-EXD|Estrema destra: 0-2 @UltimoraPolitics24

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39254 · 11.05.2022 г., 15:24

#Sondaggi#Francia Sondaggio di Harris Interactive: #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini)|LEFT|S&D|G/EFA: 28% (-7) #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 26% (+2) #RN|ID: 24% (+1) #LR-#UDI-#LC|EPP|RE: 9% (+1) #Reconquête|Estrema destra: 6% Partiti regionalisti/Altri: 3% (+2) #LO/#NPA|Estrema sinistra|LEFT: 3% (+1) #DLF|Destra radicale: 1% Data rilevazione: 6-9 maggio +/-: 29 aprile-2 maggio Intervistati: 2406 @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39255 · 11.05.2022 г., 15:30

#Sondaggi#Francia Sondaggio di Harris Interactive sui seggi: #EC (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun)|RE: 300-350 seggi (-28-38) #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini)|LEFT|S&D|G/EFA: 105-168 (+54-68) #RN|ID: 52-80 (-13-15) #LR-#UDI-#LC|EPP|RE: 30-65 (-5-17) Regionalisti/Altri partiti: 3-7 #Reconquête|Estrema destra: 0-2 (+2) #DLF|Destra radicale: 0-1 (+1) #LO/#NPA|Estrema sinistra|LEFT: 0 Data rilevazione: 6-9 maggio +/-: 29 aprile-2 maggio Intervistati: 2406 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39956 · 12.06.2022 г., 18:03

#Elezioni#Francia Exit poll di Ifop: #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 25,7% #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 25% #RN|ID: 19,3% #LR-#UDI-#LC|EPP|RE: 11,6% Altri: 4,9% #Reconquête|Estrema destra: 4% DVD|Centro-destra|Destra: 3,7% DVG|Centro-sinistra|Sinistra: 3,3% #DLF-#LP|Destra radicale: 1,3% #LO|Estrema sinistra: 1,2% @UltimoraPolitics24

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39290 · 12.05.2022 г., 09:32

#Sondaggi#Francia Sondaggio di Ifop: #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 28% #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 27% #RN|ID: 22% #LR-#UDI-#LC|EPP|RE: 11% #Reconquête|Estrema destra: 6,5% Partiti regionalisti/Altri: 2% #DLF|Destra radicale: 2% #LO/#NPA|Estrema sinistra|LEFT: 1,5% Data rilevazione: 6-9 maggio Intervistati: 1691 @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39187 · 10.05.2022 г., 17:11

#Sondaggi#Francia Sondaggio di OpinionWay: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 26% #RN|ID: 23% #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini)|LEFT|S&D|G/EFA: 23% #LR-#UDI-#LC|EPP|RE: 12% #Reconquête|Estrema destra: 5% DVG|Centro-sinistra|Sinistra: 3% Ecologisti: 2% #LO/#NPA|Estrema sinistra|LEFT: 2% #DLF|Destra radicale: 2% #PA|LEFT: 2% Data rilevazione: 5-9 maggio Intervistati: 3077 @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39256 · 11.05.2022 г., 15:35

#Sondaggi#Francia#Occitania Sondaggio di Harris Interactive in Occitania: #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini)|LEFT|S&D|G/EFA: 31% #RN|ID: 27% #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 23% #LR-#UDI-#LC|EPP|RE: 6% #Reconquête|Estrema destra: 6% Partiti regionalisti/Altri: 4% #DLF|Destra radicale: 2% #LO/#NPA|Estrema sinistra|LEFT: 1% Data rilevazione: 6-9 maggio Intervistati: 2406 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39914 · 10.06.2022 г., 18:35

#Sondaggi#Francia Sondaggio di Ifop sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 270-305 seggi (-5) #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 180-210 (-15/+5) #LR-#UDI-#LC|EPP|RE: 40-55 #RN|ID: 15-35 (-5-10) Partiti regionalisti/Altri: 8-14 (+2) DVG|Centro-sinistra|Sinistra: 8-12 (+4) #Reconquête|Estrema destra: 0-2 #DLF-#LP|Destra radicale: 0 DVD|Centro-destra|Destra: 0 #LO/#NPA|Estrema sinistra|LEFT: 0 Data rilevazione: 8-9 giugno +/-: 3-6 giugno Intervistati: 1831 @UltimoraPolitics24

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39911 · 10.06.2022 г., 18:18

#Sondaggi#Francia Sondaggio di Ifop: #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 26,5% (+0,5) #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 26% (+1) #RN|ID: 19% (-2) #LR-#UDI-#LC|EPP|RE: 10% (-1) #Reconquête|Estrema destra: 5,5% (+0,5) Altri: 5% (+0,5) DVG|Centro-sinistra|Sinistra: 3,5% DVD|Centro-destra|Destra: 2% #DLF-#LP|Destra radicale: 1,5% (+0,5) #LO/#NPA|Estrema sinistra|LEFT: 1% Data rilevazione: 8-9 giugno +/-: 3-6 giugno Intervistati: 1831 @UltimoraPolitics24

ПретходнаСтраница 1 од 3Следна