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

Резултати

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

Пребарај: #pmf

当前筛选 #pmf清除筛选
Marx21.it

@marx21news · Post #10133 · 08.04.2026 г., 06:43

🇮🇶Iraq: la neutralità sta finendo. Il paese è pronto a scendere in campo? A un mese dall'inizio dell'aggressione USA-Israele, l'Iraq si trova su una corda tesa. Da una parte le autorità vicine a Washington, dall'altra le potenti milizie filo-iraniane delle PMF (Forze di Mobilitazione Popolare). Con oltre 150.000 uomini, considerate la spina dorsale dell'esercito iracheno, stanno ottenendo il via libera da Baghdad per rispondere agli attacchi. 🇺🇸🇮🇱 Mentre USA e NATO evacuano le basi su richiesta irachena, i raid senza contrassegni nel nord uccidono civili e combattenti. I funerali delle vittime a Baghdad hanno mobilitato centinaia di migliaia di persone che chiedono l'intervento diretto. ⚖️ Il governo iracheno cerca di contenere, ma autorizza l'esercito a usare "tutti i mezzi" per difendersi. Gli equilibri interni sono fragili: le regioni curde (dove restano truppe occidentali) sono accusate di collusione col nemico. 🛢️ Nel frattempo, la pressione economica cresce: petrolio sotto attacco, chiusura di Hormuz minacciata, e 6 Paesi arabi intimano a Baghdad di fermare le milizie. La domanda non è *se* l'Iraq verrà travolto, ma *quando*. La pace apparente è solo la calma prima della tempesta. #Iraq#MedioOriente#Guerra#PMF#AnalisiGeopolitica https://www.marx21.it/internazionale/iraq-la-neutralita-sta-per-finire-il-coinvolgimento-diretto-nella-guerra-sembra-si-avvicini-sempre-piu/

Venture Village Wall 🦄

@venturevillagewall · Post #3604 · 20.12.2024 г., 17:23

Navigating AI Opportunities & Threats Explore how AI presents both challenges and opportunities for small businesses. While larger firms dominate the market, many entrepreneurs can thrive with modest revenue targets. AI could lead to the decline of SaaS businesses due to cost-effective alternatives. However, it allows individuals to quickly replicate and improve existing applications, catering to proven market needs. Though scaling to $500M ARR is tough in niches, a small investment can create meaningful products. Innovators can introduce multiple unique offerings, even in shadow of larger tech giants. #AI#SaaS#Business#Investment#Tech#Entrepreneurship#Revenue#ProductDevelopment#Innovation#Market#Growth#Web3#Startups#Opportunity#Threats#SmallBusiness#Investors#ExistingMarket#Applications#PMF#CostEfficiency