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

Резултати

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

Пребарај: #van

当前筛选 #van清除筛选

Stk လှ"လေးတေလာလင်းပေးတာ 🙄 🔣Sticker သုံးရန်နှိပ်ပါ 🔣 🔣Premium Sticker သုံးရန်နှိပ်ပါ 🔣 လိုချင်တဲ့ Stk / pre emj လေးတေ လာ Req လို့ရ 📦 #Van

Hashtags

Turchia e dintorni

@notizieturchia · Post #3012 · 15.02.2025 г., 12:08

#Turchia: durante l'intervento delle polizie nel Comune di #Van sono state prese in detenzione provvisoria 115 persone e anche 6 giornalistə https://x.com/mlsaturkey/status/1890697497049174284?t=w1TXkiYoNnwVJzzIQCZ2-A&s=19

Hashtags

Car News

@car_news · Post #581 · 30.09.2024 г., 13:01

🚘 V-Class has been turned into a sports house on wheels 🆕 Motorhome V-Class Marco Polo has received a version from AMG. The Edition AMG Line version features a grille with diode lighting, front bumper, spoiler and alloy wheels. 👍 Under the hood is a 2.0-liter biturbodiesel engine with 237 hp and 500 Nm, the engine works with a 9-speed automatic transmition. Acceleration to 100 km/h in 8.8 seconds. The top speed is 214 km/h. 💸 The Mercedes-Benz V-Class Marco Polo Edition AMG costs €76,446. @CarsNews #Mercedes#van

Car News

@car_news · Post #654 · 16.10.2024 г., 12:23

The new 🚘electric vans have been put to the test 📆 The base for the new family will be the electric platform VAN.EA. The cars, which will replace the current Vito and V-Class, are due on the market in 2026. 🚐 The company promises both clearer distinctions between commercial and passenger versions, and the expansion of the family itself, which will be provided by the modularity of the platform. For example, in the civilian lineup Mercedes-Benz plans to include modifications from simple family vans to luxury VIP limousines. @CarsNews #Mercedes#van#EV

Turchia e dintorni

@notizieturchia · Post #3011 · 15.02.2025 г., 08:10

#Turchia: nominato commissario straordinario per il Comune di #Van, il Sindaco #AbdullahZeydan era stato condannato a 3 anni e 9 mesi di carcere con l'accusa di "sostenere organizzazioni terroristiche". Zeydan stamani non ha accettato di firmare le dimissioni, la polizia è entrata nel palazzo del Comune spaccando le porte.

科技&趣闻&杂记

@kejiqu · Post #3557 · 15.06.2025 г., 02:05

Python 创造者 Guido van Rossum 提问: '更糟即更好' 这一原则对编程语言是否仍然适用? Python 创始人 Guido van Rossum 在 Python 语言峰会上探讨了“更糟即更好”的软件开发哲学在当今是否仍然适用。他回顾了 Python 早期开发阶段,当时“Worse is better”的理念促进了社区贡献,而如今大型科技公司主导的开发模式,静态类型系统等增加了贡献门槛。Guido 表达了对早期开发模式的怀念,并讨论了 Rust 和 Python 的 PyO3 项目,后者采用了“更糟即更好”的方法。他认为,未来的开发应鼓励社区参与,让贡献者拥有发言权。Slashdot | Wikipedia 🏷#Guido#van#Rossum#Python#贡献者 📢频道👥群组📝投稿

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