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 слични објави

Пребарај: #gamee

当前筛选 #gamee清除筛选

🪙 You can claim your $WAT tokens now 1️⃣ In GAMEE App 2️⃣ In TokenTable App Need help claiming, fren? WatBird's frens at #GAMEE make this video guide for you! 😜 If you still confused — ask your question in our chat. Claim $WAT to TON wallet and trade on 🎰🎰🎰💫 app.ston.fi/swap/WAT/TON Wat a day! ❤️ #listing#TGE#Gamee#WAT#p2e#airdrop

Airdrop Gold : Crypto Airdrop

@airdropgoldchannel · Post #157677 · 23.09.2024 г., 17:13

💵 List of projects that will have #Airdrop in 2024. The list is not complete and will be constantly updated. ✔️#Gamee - 23 September 2024 ✔️ Rocky Rabbit - September 23, 2024 ✔️#hamsterkombat - September 26, 2024 ✔️#Major - October 1, 2024 ✔️#TonStation - October 6, 2024 ✔️#MemeFi - October 9, 2024 ✔️ X Empire - October 15, 2024 ✔️#Cats - October 2024 ✔️#TapCoins - October 2024 ✔️#Tomarket - October 2024 ✔️#SEED - November 2024 ✔️#Time Farm - November 2024 ✔️CEX.IO - December 2024 ✔️#Blum - Q4 2024 ✔️#Vertus - Q4 2024 💎 Share it By @Airdropgoldchannel Join Channel at once https://t.me/addlist/W62NCEpw6WoyY2Q0

🌑TON Festival: the First Gameplay Presentation is Live! The event format has grown: now #Festies is a full 3 days of activity in❤️TON, from May 23 to 25. This is the first experience of its kind in the ecosystem: interactive 3D environment, meetings with Web3 projects, quests, live challenges, prize pools and rewards directly in the on-chain. Gameplay demo is already available 👁 🚘🚘More partners, brands, announcements and surprises are coming soon! 🎟Tickets are still available at the current price, but🔥April 4 – price increase and launch of the STAMINA phase. Yesterday, an AMA "TMA: The Visual Aspect" was held at X Space— the organizers revealed details of the upcoming event 🎞Play Recording #Festies#TON#Web3#Gaming#TMA#Blum#YesCoin#Boinkers#Gamee

😼Catizen Mini Game Center Open Beta now LIVE!🚀🎮 👌 Dive into a world of top-tier games that blend fun with innovative earning opportunities. Enjoy exclusive rewards like game airdrops and referral bonuses. 👌 Earn a 10% top-up rebate from all your referrals across all games, including Catizen! Don’t miss out — start your adventure in the Catizen Mini Game Center today! 🌟 🔡 🔡 🔡 Open beta is live! Report bugs or game feedback to earn 300 Catizen FishCoins 🪙 😸Explore Catizen Mini Game Center #catizen#gamee#play#p2e#web3#gamefi#dogs#telegram#dapp#notcon#hamsetr