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

Пребарај: #ebrahimraisi

当前筛选 #ebrahimraisi清除筛选
Venezuelanalysis

@venanalysis · Post #1573 · 21.05.2024 г., 00:30

Maduro hailed Raisi as an "extraordinary leader" and an "unconditional friend" of Venezuela. The relationship between Venezuela and Iran blossomed under the leadership of former Venezuelan President Hugo Chávez. Read the full story: https://venezuelanalysis.com/news/maduro-mourns-death-of-irans-ebrahim-raisi-an-unconditional-friend-of-venezuela/ #Venezuela#Iran#EbrahimRaisi

Radio Holguín La Nueva

@radioHolguin · Post #10186 · 21.05.2024 г., 19:43

🇮🇷 Decretan Duelo Oficial en Cuba por la muerte de Ebrahim Raisi Con profundo pesar, nuestro pueblo ha conocido del fallecimiento del Presidente de la hermana República Islámica de #Irán, Su Excelencia Dr. Seyyed #EbrahimRaisi. Por tal motivo, el Presidente de la República de #Cuba decretó #DueloOficial, desde las 06:00 horas del día 21 de mayo hasta las 12:00 de la noche del 22 de mayo de 2024. Durante su mandato como Presidente de Irán desde 2021, Raisi contribuyó de manera decisiva al desarrollo y fortalecimiento de las relaciones de amistad y cooperación entre ambas naciones. El pueblo y Gobierno cubanos acompañan a Irán en este momento de dolor y expresan su confianza en que la #RevoluciónIslámica seguirá adelante y sabrá reponerse de este lamentable hecho. Durante la vigencia del Duelo la Bandera de la Estrella Solitaria deberá izarse a media asta en los edificios públicos e instituciones militares. #Holguín 📝 con información de Telecristal

Crypto M - Crypto News

@CryptoM · Post #65299 · 12.04.2026 г., 15:34

🚀 Iran Expresses Readiness for Regional Peace Agreement Iranian President Ebrahim Raisi has expressed the country's readiness to establish a balanced and fair agreement to ensure lasting peace and security in the region. According to BlockBeats, this statement was made during a phone conversation with Russian President Vladimir Putin on April 12, as reported by Iran's Tasnim News Agency. #Iran#EbrahimRaisi#VladimirPutin#RegionalPeace#Security#PeaceAgreement#IranRussia#BlockBeats#TasnimNews