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

Резултати

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

Пребарај: #santa

当前筛选 #santa清除筛选
[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #1445 · 09.03.2020 г., 13:12

💥Ofertas para Bucarest💥 🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Bucarest (Rumanía) por 152€: del 03 al 10 de abril (PVP medio: 406.12 €) 🔘2: 🛫 Madrid - 🛬 Bucarest (Rumanía) por 45€: del 28 de abril al 09 de mayo (PVP medio: 120.16 €) Vuelos con salida desde #Santa Cruz de Tenerife y #Madrid Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #1335 · 27.01.2020 г., 13:12

💥Ofertas para Burdeos💥 🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Burdeos (Francia) por 42€: del 15 al 21 de marzo (PVP medio: 134.34 €) 🔘2: 🛫 Valencia - 🛬 Burdeos (Francia) por 26€: del 02 al 06 de marzo (PVP medio: 73.76 €) Vuelos con salida desde #Santa Cruz de Tenerife y #Valencia Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #2445 · 13.06.2021 г., 13:13

💥Ofertas para Oporto💥 🔘1: 🛫 Madrid - 🛬 Oporto (Portugal) por 18€: del 28 de julio al 04 de agosto (PVP medio: 77.0 €) 🔘2: 🛫 Barcelona - 🛬 Oporto (Portugal) por 23€: del 27 de julio al 03 de agosto (PVP medio: 84.1 €) 🔘3: 🛫 Santa Cruz de Tenerife - 🛬 Oporto (Portugal) por 71€: del 25 de julio al 08 de agosto (PVP medio: 170.68 €) Vuelos con salida desde #Madrid, #Barcelona y #Santa Cruz de Tenerife Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #1499 · 28.03.2020 г., 13:36

💥Ofertas para Varsovia💥 🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Varsovia (Polonia) por 44€: del 23 al 26 de mayo (PVP medio: 169.42 €) 🔘2: 🛫 Madrid - 🛬 Varsovia (Polonia) por 27€: del 24 al 29 de mayo (PVP medio: 102.62 €) 🔘3: 🛫 Alicante - 🛬 Varsovia (Polonia) por 39€: del 09 al 16 de mayo (PVP medio: 102.24 €) Vuelos con salida desde #Santa Cruz de Tenerife, #Madrid y #Alicante Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #1451 · 11.03.2020 г., 13:12

💥Ofertas para Oporto💥 🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Oporto (Portugal) por 75€: del 19 de abril al 03 de mayo (PVP medio: 197.3 €) 🔘2: 🛫 Palma de Mallorca - 🛬 Oporto (Portugal) por 40€: del 01 al 02 de abril (PVP medio: 97.64 €) Vuelos con salida desde #Santa Cruz de Tenerife y #Palma de Mallorca Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

Hashtags

[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #1448 · 10.03.2020 г., 13:12

💥Ofertas para Budapest💥 🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Budapest (Hungría) por 126€: del 27 de abril al 01 de mayo (PVP medio: 384.52 €) 🔘2: 🛫 Málaga - 🛬 Budapest (Hungría) por 55€: del 07 al 21 de abril (PVP medio: 151.14 €) 🔘3: 🛫 Madrid - 🛬 Budapest (Hungría) por 44€: del 28 de abril al 12 de mayo (PVP medio: 110.32 €) Vuelos con salida desde #Santa Cruz de Tenerife, #Málaga y #Madrid Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #1477 · 20.03.2020 г., 13:12

💥Ofertas para Varsovia💥 🔘1: 🛫 Madrid - 🛬 Varsovia (Polonia) por 28€: del 20 al 27 de mayo (PVP medio: 120.7 €) 🔘2: 🛫 Alicante - 🛬 Varsovia (Polonia) por 40€: del 09 al 16 de mayo (PVP medio: 122.0 €) 🔘3: 🛫 Barcelona - 🛬 Varsovia (Polonia) por 45€: del 07 al 11 de mayo (PVP medio: 132.64 €) 🔘4: 🛫 Santa Cruz de Tenerife - 🛬 Varsovia (Polonia) por 80€: del 23 al 30 de mayo (PVP medio: 192.86 €) Vuelos con salida desde #Madrid, #Alicante, #Barcelona y #Santa Cruz de Tenerife Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

[CANAL] Chollos de Vuelos

@chollosdevuelos · Post #1428 · 03.03.2020 г., 13:13

💥Ofertas para Burdeos💥 🔘1: 🛫 Palma de Mallorca - 🛬 Burdeos (Francia) por 27€: del 03 al 06 de abril (PVP medio: 84.0 €) 🔘2: 🛫 Barcelona - 🛬 Burdeos (Francia) por 36€: del 11 al 15 de abril (PVP medio: 96.14 €) 🔘3: 🛫 Santa Cruz de Tenerife - 🛬 Burdeos (Francia) por 60€: del 19 al 26 de abril (PVP medio: 144.52 €) Vuelos con salida desde #Palma de Mallorca, #Barcelona y #Santa Cruz de Tenerife Más en:https://t.me/chollosdevuelos✅ El que no corre 🏃 vuela 🛫

123•••10•••1516
ПретходнаСтраница 1 од 16Следна