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

Резултати

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

Пребарај: #buildonus

当前筛选 #buildonus清除筛选
KNAUF Uzbekistan

@knaufuzbekistan · Post #1052 · 07.03.2026 г., 14:00

Hurmatli ayollar, Sizlarni 8-mart – Xalqaro xotin-qizlar kuni bilan tabriklaymiz. Sizlarga farovonlik, maqsadlarga erishishingizda kuch va g’ayrat tilaymiz. Hurmat bilan, KNAUFning O'zbekistondagi guruhi - - - - Уважаемые женщины, Поздравляем вас с 8 марта - международным женским днём. Желаем самодостаточности, сил и упорства в достижении поставленных целей. С уважением, Группа КНАУФ в Узбекистане #knaufuzbekistan #buildonus #sapfir #8mart

KNAUF Uzbekistan

@knaufuzbekistan · Post #986 · 26.10.2025 г., 10:00

Ajoyib yangilik! Endi rasmiy knauf.uz saytimiz rus tilida ish yuritmoqda. O‘zbekistondagi KNAUF mahsulotlari, komplekt tizimlari va yechimlari haqidagi eng so‘nggi ma’lumotlar! - - - - Отличная новость! Наш официальный сайт knauf.uz теперь и на русском языке. Самая актуальная информация о продуктах, комплектных системах и решениях КНАУФ в Узбекистане! #knaufuzbekistan #yangiliklar #news #новости #buildonus

KNAUF Uzbekistan

@knaufuzbekistan · Post #1053 · 08.03.2026 г., 04:07

KNAUF kompaniyasida turfa xil kasb egalari: muhandislar, buxgalterlar, sifat, logistika, xavfsizlik, xodimlar boshqaruvi va investitsiyalar bo‘yicha mutaxassislar ishlaydi. Har kuni ular ishlab chiqarish jarayonlarining barqaror faoliyati, loyihalar rivoji va yuqori sifat darajasini ta’minlab keladilar. Ularning tajribasi, kasb bilimdonligi va tafsilotlarga e’tibori kompaniyaning olgʻa yurishiga turtki beradi. Xalqaro xotin-qizlar kunida biz sizni jamoamizning dur-u gavharlari – KNAUF rivojiga ulkan hissa qo‘shib kelayotgan ayollar bilan tanishtirmoqchimiz. Mehnatingiz, mas’uliyatingiz va g‘ayratingiz uchun tashakkur. 8-mart bayrami muborak! - - - - - В КНАУФ работают люди самых разных профессий — инженеры, бухгалтеры, специалисты по качеству, логистике, безопасности, управлению персоналом и инвестициям. Каждый день они обеспечивают стабильную работу производства, развитие проектов и высокий уровень качества. Их опыт, профессионализм и внимание к деталям помогают компании двигаться вперёд. В Международный женский день мы хотим познакомить вас с частью нашей команды — женщинами КНАУФ, которые вносят огромный вклад в развитие компании. Спасибо за ваш труд, ответственность и энергию. С праздником 8 марта! #knaufuzbekistan #buildonus #KNAUF_Yangiliklar #8mart #8march