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

Резултати

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

Пребарај: #fine

当前筛选 #fine清除筛选

​​🎙 INVEST REPORT Announce #FINEproject update #FINE is Trending first in Dextool. Reaching out Millions of investors. 👉 Order dextool Trend starting with 6500$ per 24 hours 1️⃣ Dextool trending working 2️⃣ Big marketing Campaign incoming 3️⃣ Reached 30 mil mcap 🔜 50 Mil $ Mcap We announced at 9 mil $ Mcap. We just hit 30mil $ mcap and we are getting closer to 100,000,000 Mcap. At the moment we made for you 230% Profit ⚠️Always do your own research and due diligence when considering your participation in any blockchain project.

Hashtags

​​🎙 NEW GEM #FINE I think here is big potential to grow, marketing incoming. 🆘Be careful, put small bag here. Marketcap: 9.5 MIL $ Price now: 0.000000023618598849591634 $ 1️⃣Dextool trending working, order Dextool Trending 2️⃣Big marketing Campaign incoming ✅ More information Telegram: https://t.me/+YIevhi57q2phY2Y6 Website:https://www.finerc.vip/ 👉 BUY HERE: https://www.dextools.io/app/en/ether/pair-explorer/0xb54ce26f2e30f64c5b684b141311ce138ab5e00e 🧨 Push cooperating with@Whales100xsignals #MEMECOIN#GEM

NIDO Russia (НИДО)

@nido_russia · Post #1923 · 11.12.2024 г., 09:54

The increase in fines for a number of traffic violations will come into force on January 1, 2025 📌"In Article 2, the word" Law "should be replaced with the words "Federal Law", the words "after thirty days from the date of its official publication" should be replaced with the words "from January 1, 2025," the text of the amendment posted in the Duma electronic database says. 📌Under this law, failure by a driver to perform the duty to insure his civil liability, as well as driving a vehicle, if the Compulsory third Party Insurance (CTP) policy is deliberately absent, entails the imposition of an administrative fine in the amount of 800 rubles. 📌Earlier, the Parliament of the Kabardino-Balkar Republic submitted to the State Duma a bill that proposes to establish a fine for repeated violation of the Administrative Code of the Russian Federation, namely the absence of a driver's CTP policy, up to 5 thousand rubles. CTP policy means Compulsory Third Party Insurance Policy #news#russia#nido_russia#traffic#fine#regulations https://t.me/nido_russia