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

Резултати

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

Пребарај: #planes

当前筛选 #planes清除筛选
Airdrop Center

@centralchanel · Post #15656 · 27.12.2024 г., 09:02

#Planes Send the code below to the bot and earn 5K points. Code: howtoearn500 Link:⤵️ https://t.me/plane_cryptobot/planes?startapp=ref_9N3R6M ⛏#ton#planes#dogs

🏆 Premium, NFT, Tokens

@giiveaways · Post #3374 · 17.12.2024 г., 12:58

🚩 Don’t miss out on the Planes project, partnered with none other than Pavel Durov! 🔜Minimal effort — maximum rewards. Earn your first tokens in just a couple of minutes. 💌 To continue farming, simply send 5 messages to your friends. This version emphasizes clarity and flow while maintaining an engaging tone. ✍️Mr. X ............. 👉@Planes ➖➖➖➖➖➖➖➖➖➖ #Planes#ton#Durov

Bali News

@balinews · Post #289 · 10.01.2025 г., 14:05

✈️AirAsia launches new Bali to Darwinflight 📆 Popular low-cost carrier AirAsia is set to launch a new flight between Darwin (Australia) and Denpasar from March 22, 2025. ⏰ The flights will operate every Tuesday, Thursday and Saturday: Denpasar - Darwin 11:40 - 15:55, return 16:35 - 17:55. @BaliNews #transport#planes#destinations

VIP_影视分享

@wangzhuanzhan · Post #33199 · 19.09.2024 г., 06:03

F-f飞f机j总z动d员y2- 飞机总动员2:火线救援 Planes: Fire and Rescue (2014) 直达链接:https://pan.quark.cn/s/18964c0b330e #飞机总动员2:火线救援 #飞机总动员2:救火大行动 #Planes: Fire and Rescue #飞机总动员2 #飞机总动员:火线救援 #飞机总动员:打火英雄 链接:https://link3.cc/sf_com #电影#喜剧#美国#10年代

Daily Channels

@dailychannels · Post #6213 · 17.07.2025 г., 01:00

Channel: Vehicles Cars Planes Ships Military | 3D STL Models Miniatures Print Members: ~13.36K 💢 Username: @vehicles_stl Description: all STL : t.me/addlist/AKCBHdY4zShlZTVi Car models Aircraft models Ship models Tank models STL files 3D printing Scale models Vehicle accessories Classic cars Fighter jets Battleships Armored vehicles Military vehicles Vintage planes Racing Helicopters 🏷 Tags: #auto_moto #stl#print#cars#planes https://telegramchannels.me/channels/vehicles_stl

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40776 · 11.03.2026 г., 23:01

During World War II, engineers studied planes that returned from missions. They first thought the areas with the most bullet holes needed armor. Statistician Abraham Wald realized this was survivorship bias. Survivorship bias happens when you focus only on survivors and ignore failures.The undamaged areas on returning planes were actually the critical spots. Planes hit there did not survive. He recommended reinforcing those undamaged areas. ✈️📊🛡️ [Read more] @googlefactss #SurvivorshipBias#WWII#AbrahamWald#Planes#Statistics#History