@blvckwhiteclub · Post #1688 · 15.10.2025 г., 14:11
Там нам ПМСЛ интересная ситуация в таблице, хочется глянуть o_O #GOGOMAD😏 (подрублю после пмсл)
Hashtags
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
Пребарај: #gogomad
@blvckwhiteclub · Post #1688 · 15.10.2025 г., 14:11
Там нам ПМСЛ интересная ситуация в таблице, хочется глянуть o_O #GOGOMAD😏 (подрублю после пмсл)
Hashtags
@xgirya · Post #1631 · 23.06.2024 г., 18:30
500к за два дня + мвп турнира🤟 спасибо за поддержку🍯❤️ #gogomad
Hashtags
@xgirya · Post #1630 · 19.06.2024 г., 12:27
Очень рад стать частью большой семьи 🇰🇿 #GoGoMad 💜
Hashtags
@xgirya · Post #1620 · 09.06.2024 г., 19:30
Занимаем 3 место по итогу всей стадии лиги Всем спасибо за поддержку, увидимся в финале 13-15 июня #gogomad🇰🇬
Hashtags
@naomiop · Post #282 · 01.08.2024 г., 15:03
Всем привет✌️Как вы уже могли увидеть с сегодняшнего дня я возвращаюсь в свою самую первую организацию MadBulls. Много хороших воспоминаний и результатов связанных с ней, и теперь я буду продолжать достигать новых высот в стане быков. По поводу Team Spirit не мог в этом посте не поблагодарить организацию за пол года проведённые в ней, рад что получил опыт работы с такой крупной организацией и буду рад встретиться против них на крупных турнирах. Также и состав с которым я играл не могу не поблагодарить, мы прошли долгий путь от создания новой команды до финала пмгц, рад был играть со всеми парнями. Теперь наступает новая глава в моей карьере #GOGOMAD🐂
Hashtags
@naomiop · Post #9 · 23.10.2022 г., 19:51
МЫ ЕДЕМ НА PMGC!!!! @madbullspubgmobile #GOGOMAD
Hashtags
@xgirya · Post #1695 · 02.10.2024 г., 11:45
🤩 Легендарное возвращение обратно в семью. С сегодняшнего дня состав снова выступает под знаменами MadBulls! #GOGOMad#news
@naomiop · Post #283 · 05.08.2024 г., 10:09
❗️ Состав MadBulls с активным слотом на PMSL CSA 2024: Fall и амбициями хорошо выступить в рамках PMGC 2024 находится в поиске новой организации. Контакт для общения: @kitten_attack. #GOGOMad#search
@xgirya · Post #1609 · 01.06.2024 г., 15:46
😮💨 Врываемся на первое место командой таблицы. Завтра пройдёт крайний день второй недели, в рамках которого мы со всех сил будем отстаивать свой трон! #GOGOMad#pmsl#results
@xgirya · Post #1608 · 31.05.2024 г., 16:29
🤩 Улучшаем положение в таблице второй недели. Впереди ещё двенадцать матчей, увидимся завтра днём! #GOGOMad#pmsl#results
@xgirya · Post #1607 · 30.05.2024 г., 15:59
😎 Всего за один игровой день поднимаемся на пятую строчку таблицы с активом в 71 поинт. Встретимся завтра днём 😉 #GOGOMad#pmsl#results
@xgirya · Post #1629 · 19.06.2024 г., 12:26
😎 Welcome, Girya! Перед PMWC 2024 рады анонсировать нового тренера, который уже успешно поработал на PMSL CSA 2024: Spring и во всю готовит команду к поездке в Эр-Рияд. #GOGOMad#announcment#coach
Hashtags