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

Пребарај: #flappybird

当前筛选 #flappybird清除筛选
The Idealist

@theidealist · Post #2042 · 13.05.2020 г., 13:00

​​Mental Floss: 10 изобретателей, которые сожалели о своих творениях Мы восхищаемся гениями, чьи изобретения преобразовали мир вокруг нас. Интернет, ядерная энергия, перцовые баллончики и даже кофе в капсулах - без всего этого наша цивилизация была бы совсем иной. Но многие "отцы" этих изобретений оказались в итоге недовольны своими творениями: кто-то, как создатель офисной кабинки Боб Пропст, считает, что его идею в итоге неправильно поняли, а, например, придумавшего кофе в капсулах Джона Сильвана пугает "монстр", чересчур облегчивший доступ человеческому мозгу к кофеину. Редакция Mental Floss отобрало 10 наиболее интересных изобретений, создатели которых оказались недовольны тем, что из всего этого вышло, перевод их текста мы представляем вам сегодня. «Если вам это нравится, вы ничего не понимаете в типографии». Это не злобная отрыжка анонимного критика шрифта Comic Sans, а мнение его создателя, дизайнера Винсента Коннари, озвученное в интервью Wall Street Journal. Коннари, однако, дополнил его: «Если вы ненавидите это, вы действительно тоже мало знаете о типографии, и вам нужно другое хобби». По мнению Коннари (которое разделяют многие) проблема Comic Sans заключается не в самом шрифте, а в его чрезмерном и неправильном использовании. Винсент изначально разрабатывал его для приложений Microsoft, ориентированных на детей, он должен был заменить Times New Roman в речевых пузырях. Автор никогда не предполагал, что шрифт станет настолько широко использоваться и высмеиваться». https://theidealist.ru/10inventions/ #MentalFloss#общество#история#интернет#FlappyBird#типография#РолиЧоппер#кофе

Venture Village Wall 🦄

@venturevillagewall · Post #3670 · 21.12.2024 г., 14:37

Sticker Market Insights 🚀 An overview of the Sticker Market with upcoming NFT potentials. Stickers are gaining traction with unique IDs for future NFT conversion. Key collections include: - 🐔Flappy Bird: 5,555 editions; 733 sold. - 🐈‍⬛Blum: 10,268 sold from multiple editions. - 🐶DOGS: Some sold out with various editions. - 🐵Bored Apes: Sold out quickly with high ETH value. Key motivations for buying or holding: - Flipping and potential NFT benefits in EARN. - Increased arbitrage opportunities through expanded markets. Check out the StickerStore for purchases and Stars! #StickerMarket#NFT#FlappyBird#Blum#DOGS#BoredApes#PudgyPenguins#Notcoin#Onchain#EARN#Arbitrage#Stars#Telegram#Collectibles#DigitalArt#Crypto#MarketTrends#Community#Investment#Trading