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

Резултати

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

Пребарај: #carbonfiber

当前筛选 #carbonfiber清除筛选
Auto Life

@revheadcrypto · Post #551 · 07.10.2024 г., 07:18

🚗💥 Introducing the Manhart MHXM 900! 💥🚗 Get ready to experience the ultimate BMW XM upgrade! 🌟 🔧Power Boost: From a stock 748 hp and 1000 Nm to an astonishing 900 hp and 1200 Nm! 💪🔥 ⚙️Suspension Upgrade: Featuring H&R springs for enhanced handling! 🛠️ 🛞Stunning Wheels: Equipped with eye-catching 24-inch Manhart wheels! 😍 🌌Carbon Fiber Body Kit: Lightweight and aggressive styling that enhances performance! 🖤 🖌️Luxurious Interior: Finished in a sleek grey-orange scheme with leather, Alcantara, and carbon accents! ✨ #Manhart#MHXM900#BMW#Performance#Tuning#CarEnthusiast#LuxuryCars#CarbonFiber#Auto

Auto Life

@revheadcrypto · Post #140 · 20.07.2024 г., 18:39

🏎️ McLaren Artura gets a massive wing and body kit by Novitec Novitec has added a giant wing mounted on pylons, along with a body kit, redesigned bumpers, and a new engine cover, all made of carbon fiber. The exhaust system can be crafted from stainless steel or Inconel, with an option for a gold coating at extra cost. Not only does it enhance the engine's sound, but it also boosts its performance by an estimated 35 horsepower, according to the tuners. #McLarenArtura#Novitec#carbonfiber#exhaustsystem#tuning#horsepowerboost

Auto Life

@revheadcrypto · Post #387 · 25.08.2024 г., 23:56

🚗✨ Restomod Magic: BMW 8 Series Reimagined! ✨🚗 Check out this stunning restomod of the first-generation BMW 8 Series! 🏎️💨 🔧 Upgrades Include: - Carbon Fiber Panels: Lightweight and sleek! 🖤 - Powerful V10 Engine: Swapped from the BMW M5 (E60) and bored out to 5.8 liters! 💥 - Modern Interior Touches: Blending classic with contemporary! 🛋️ #BMW#Restomod#8Series#M5#CarEnthusiast#ClassicMeetsModern#CarbonFiber#V10Power#Auto🚘💫

Auto Life

@revheadcrypto · Post #607 · 27.10.2024 г., 09:53

🚗✨Brabus Transforms Mercedes-AMG SL into a 1000-HP Shooting Brake!🔥 The new body and aerodynamic features are crafted entirely from carbon fiber. The turbocharged V8 has been enlarged from 4.0 to 4.5 liters, and now, combined with an electric motor on the rear axle, the powertrain delivers a staggering 1000 HP and 1620 Nm of torque! 💪⚡ These bespoke three-door beauties will be built to order, tailored to individual specifications. Pricing is not publicly disclosed. 💎 #Brabus#MercedesAMG#ShootingBrake#1000HP#LuxuryCars#CarEnthusiasts#CustomCars#AutomotiveExcellence#CarbonFiber#Auto

Auto Life

@revheadcrypto · Post #337 · 18.08.2024 г., 18:07

🚗💨 Introducing the Acura Integra Type S with HRC Factory Tuning! 🔥✨ Get ready to be amazed by the incredible upgrades: 🔹 Aggressive Front Bumper with an enhanced splitter 🔹 Sleek Rear Bumper featuring a diffuser 🔹 Carbon Fiber Hood for that lightweight edge 🔹 Forged 19-inch Wheels wrapped in Pirelli P Zero Trofeo R tires 🔹 Stunning Carbon Fiber Wing on aluminum supports To lighten the load: 🔸 Carbon Fiber Rear Doors 🔸 Recaro Seats for ultimate comfort and support 🔸 Strut Brace replacing the rear bench for added rigidity And let’s not forget the performance upgrades: 🔹 Coilover Suspension for precision handling 🔹 Six-Piston Brembo Brakes up front for unmatched stopping power This beast is built for the track! 🏁💥 #AcuraIntegraTypeS#HRC#FactoryTuning#CarEnthusiast#Performance#CarbonFiber#Brembo#Pirelli#Auto

Auto Life

@revheadcrypto · Post #193 · 29.07.2024 г., 12:42

Just sold at auction! 🚗💰 This stunning Alfa Romeo 2000 GTV restomod with a carbon fiber body went for $220,000. 🤑 It took around four years to build this beauty, with everything from the chassis to the powertrain being completely overhauled. 🛠️ Italian specialists worked on the chassis and body, while the rest of the work was done in Canada. The upgraded 2.0 carbureted engine's exact output isn't specified, but the original Alfa Romeo 2000 GTV came with a 130-horsepower engine. 🏁 #AlfaRomeo#2000GTV#Restomod#CarbonFiber#Auction#ClassicCar#LuxuryCar#ItalianStyle🇮🇹