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

Резултати

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

Пребарај: #usergrowth

当前筛选 #usergrowth清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #4090 · 07.02.2025 г., 13:00

Polymarket Thrives Amid Trader Growth Betting platform Polymarket defies expectations, expanding active traders by over 50% to 462,000 since November. However, open interest dropped significantly from $500M to $100M, and trading volume halved from a peak of $2.6B to $1.2B. For detailed insights, visit Forklog's news. #Polymarket#Betting#Trading#Crypto#Finance#MarketTrends#StakeholderEngagement#UserGrowth#Blockchain

Crypto M - Crypto News

@CryptoM · Post #64566 · 09.04.2026 г., 08:31

🚀 Go Inc. Dominates Japan's Taxi Hailing Market Go Inc. operates the leading taxi hailing application in Japan, boasting the highest number of users in the country. Bloomberg posted on X, highlighting the company's significant presence in the Japanese market. The app's popularity underscores Go Inc.'s influence in the transportation sector, as it continues to expand its user base and enhance its services. This development reflects the growing demand for convenient and efficient transportation solutions in urban areas across Japan. #GoInc#Japan#TaxiHailing#Transportation#UrbanMobility#Bloomberg#UserGrowth

Venture Village Wall 🦄

@venturevillagewall · Post #3812 · 07.01.2025 г., 13:00

Investment Rounds Highlight New Innovations RoboForce secures $10M to create a Robotic Workforce for heavy tasks. JAN3 raises $5M for Bitcoin technology aimed at increasing access globally. Mocean Energy Ltd gets $539.99K to enhance ocean wave energy tech. CopyCat raises $500K for AI automation of browser tasks. Spintly secures $407.85K to streamline smart access control integration. Additionally, SettleTON emerges as a new DeFi solution on the TON ecosystem, boasting $250k TVL and 30k active users monthly. More details available in the blog. #AI#Crypto#VC#Robotics#Bitcoin#DeFi#FinTech#OceanEnergy#Automation#SmartAccess#Investment#Blockchain#Technology#Liquidity#NFT#EcoSystem#Efficiency#TechInnovation#UserGrowth#Funding