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

Пребарај: #lifehacks

当前筛选 #lifehacks清除筛选

Habits we need to Avoid which drain our energy... 🙅🏼‍♂❌ × Gossiping. × Overthinking. × Over stressed. × Sleeping in late. × Having a poor diet. × Holding on to the past. × Complaining all the time. × Taking things personally. × Fueling drama in the mind. × Always checking social media. #Lifehacks 🥀@best_motivational_vibes🥀

Hashtags

BotsGram®

@botsgram_cu · Post #3975 · 04.06.2021 г., 13:23

⭕Crea tus propios BOTS Existe una herramienta de automatización gratuita que se llama n8n. Con esta aplicación puedes crear fácilmente bots de Telegram. Comparto un par de manuales que cree para crear un bot que da la bienvenida a un grupo. Y otro que envía definiciones en el idioma del Telegram que le está escribiendo. ➡️https://comunidad-n8n.com/tag/bots/ También añado un grupo sobre la comunidad de n8n donde os animo a entrar para aprender sobre esta herramienta. 💬@comunidadn8n ☕Invítame a un café ❤️Compartir es vivir #lifehacks#telegram#bots

BotsGram®

@botsgram_cu · Post #4097 · 11.07.2021 г., 23:01

⭕MTProxy del canal de Aitor Roma El Canal Aitor Roma se solidariza con el pueblo cubano y otros países afectados por la censura. Ofreciendo un proxy para poder conectar y eliminar la censura para acceder a Telegram. El servidor proporciona una conexión estable que debería funcionar sin problema. Compártelo y libérate. Te dejo el link para que sea fácil de copiar y compartir. https://t.me/proxy?server=mtproxy.aitorroma.com&port=8443&secret=61ecb7df3780d69b0cc1fe043ea6c2d5 ⚙️CONFIGURAR PROXY ☕Invítame a un café ❤️Compartir es vivir #freedom#lifehacks#censorship