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

Пребарај: #that

当前筛选 #that清除筛选

@tofuc · Post #162 · 06.03.2026 г., 12:50

GIVEAWAY kecil-kecilan edisi jumat berkah. Prize: 5.000 Saldo DANA FREE! Untuk 4 Orang. Hal yang harus di perhatikan sebelum drop nomor: #That’sSimple 1. Wajibudah subscribe @Merchanit, kalau belum jangan ikut 😎 yssa. 2. Sebar bbc ini kemana aja, asal ada orang yang di sebar (LPM, bc bot, Ch, Gc). Gak boleh 1 orang doang di pc. Intinya lebih dari 10 orang di dalamnya. Di spin besok jam 15.00. Kirim nomor 1-50 jika tertarik mengikuti, gak boleh double dan edit, boleh ngacak. Drop di sini.

Hashtags

Pensive|

@PensivePost · Post #5233 · 28.05.2021 г., 05:17

ONCE LOVED... Guess I didn't love myself enough to see how much I loved you. I don't really miss him. Rather I miss myself when I was with him. The way my heart pounds when I look at him. The way my mouth can't compose a word when I talk to him. The way my head hallucinates a life with him. The way I used to believe in magic. The way I used to see rainbows in the dark. The way I used to think I could catch stars. The way I believe love can conquer all. So yeah I miss myself when I was with him. The more I loved him, the more it damaged me when I was not in love with him anymore. The harder it is to get back to the old me. Bites by bites. Piece by piece. As long as all that reminding is dust of yesterday. Which will be there for the rest of my life. #That G!rl... #review#lifelessons

VIP_影视分享

@wangzhuanzhan · Post #33324 · 25.09.2024 г., 06:33

G-g各g有y少s年n时s- 各有少年时 Everybody Wants Some!! (2016) 直达链接:https://pan.quark.cn/s/af55f3fbd3de #各有少年时#Everybody Wants Some #我们的轻狂年代#年少轻狂2 / 这正是我在说的 #皆望有得#人皆有时#蠢蠢欲动#谁都想要 #各有年少时#雨露均沾#爱在人人想要时 #Everybody Wants Some #That's What I'm Talking About #Dazed and Confused 2 链接:https://link3.cc/sf_com #电影#喜剧#美国#10年代