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

Резултати

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

Пребарај: #defitakeover

当前筛选 #defitakeover清除筛选
TON Crypto News

@toncoin_rap · Post #159 · 21.09.2024 г., 06:39

🎧⤴ 🤑TON Ecosystem on Fire! Major Updates from Fintopio, TBook, and XDAO You Can’t Miss This week, the TON blockchain ecosystemrolled out exciting updates across three projects: Fintopio, TBook, and XDAO. Fintopio, one of the fastest-growing DeFi wallets on Telegram, now has 6 million active monthly users, offering fee-free transfers and NFT storage. TBook introduces free TON WISE Credit Scores, encouraging users to showcase their onchain and offchain activities for potential rewards. Lastly, XDAO is pioneering the first DAO ecosystem on TON, integrating Telegram mini-apps and introducing community-driven farming games to attract new users. TON’s rapid growth continues, with a thriving Web3 community ready to reshape digital finance. Chorus: We on TON, leveling up the game, Fintopio's flexin’, ain’t nothin' the same. TBook’s credit stack, XDAO’s on the rise, Decentralized future, right before your eyes. Verse 1: From Telegram straight to the blockchain scene, Fintopio’s the wallet that’s keepin' it clean. Millions logged in, sending cash for free, DeFi on your phone, simple as can be. $HOLD points stackin’, rewards gettin’ high, Move fast, earn big, touch the sky. Security tight, but the game’s still smooth, Digital assets now got nothin' to lose. Chorus: We on TON, leveling up the game, Fintopio's flexin’, ain’t nothin' the same. TBook’s credit stack, XDAO’s on the rise, Decentralized future, right before your eyes. Verse 2: TBook’s in the mix, building up your score, Onchain data, you got rewards in store. Credit's climbing high, opportunity knocks, Show what you’ve done, you control the stocks. Airdrops comin’ in, WISE Credit the key, Exclusive deals, it’s the place to be. You a star on the rise, now the world’s in view, Link up your past, and the rewards come through. Chorus: We on TON, leveling up the game, Fintopio's flexin’, ain’t nothin' the same. TBook’s credit stack, XDAO’s on the rise, Decentralized future, right before your eyes. Verse 3: XDAO’s movin’ fast, DAOs on the map, Farming those coins while you sit back and tap. Mini apps in play, communities grow, TONxDAO tech, let the future flow. Buildin' syndicates, big moves you choose, DAO-based biz, ain’t no time to snooze. Empowerin’ users, decentralize it all, New age of finance, watch the empires fall. Chorus: We on TON, leveling up the game, Fintopio's flexin’, ain’t nothin' the same. TBook’s credit stack, XDAO’s on the rise, Decentralized future, right before your eyes. Bridge: No more middlemen, we takin' control, In the TON ecosystem, we’re playin' the role. From wallets to scores, and DAOs takin' flight, It’s a Web3 revolution, we shine in the night. #TONBlockchain#DeFiTakeover#Web3Revolution #TONCryptoNewsRapStyle 🎧@toncoin_rap