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

Резултати

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

Пребарај: #all

当前筛选 #all清除筛选
SSR SHARE | 免费SSR Vray

@sharessr · Post #53772 · 14.01.2025 г., 02:50

trojan://eyJhZGQiOiIxOTQuOS4xNzIuNjUiLCJhaWQiOiIwIiwiYWxwbiI6IiIsImZwIjoiIiwiaG9zdCI6ImJleW9uZGRiYy5zYnMiLCJpZCI6IjhkOTBjMTI5LTQxNTYtNGQ2Yy05MTE1LTI0ZGYyNWYyNmEwMiIsIm5ldCI6IndzIiwicGF0aCI6Ii9saW5rd3MiLCJwb3J0IjoiNDQzIiwicHMiOiJNQ0ktQFYycmF5X0FscGhhLTE0Iiwic2N5IjoiYXV0byIsInNuaSI6IiIsInRscyI6InRscyIsInR5cGUiOiItLS0iLCJ2IjoiMiJ9 trojan://eyJhZGQiOiI1Ljc1LjE5Ny4yMjEiLCJhaWQiOiIwIiwiYWxwbiI6IiIsImZwIjoiIiwiaG9zdCI6ImZhc3QuY29tIiwiaWQiOiJiNDRjZWFiZS05OTdjLTQ5ODgtOTMyZC04ZWZhNmE1MzBmYzUiLCJuZXQiOiJ0Y3AiLCJwYXRoIjoiLyIsInBvcnQiOiI4MDgwIiwicHMiOiJNQ0ktQFYycmF5X0FscGhhLTE1Iiwic2N5IjoiYWVzLTEyOC1nY20iLCJzbmkiOiIiLCJ0bHMiOiIiLCJ0eXBlIjoiaHR0cCIsInYiOiIyIn0=♾️نامحدود trojan://[email protected]:22222?security=tls&alpn=http/1.1&headerType=none&type=tcp&sni=trojan.burgerip.co.uk#Our vless://[email protected]:443?path=%2FXDibuDFmB3fiURk1%3Fed%3D2560&security=tls&encryption=none&host=PPaL03.tAveN-rYDan.WorKERS.DeV&type=ws&sni=PpAl03.TavEn-rYDAn.WORkerS.DEv#All-%40V2ray_Alpha-4 vless://[email protected]:2086?path=%2F%3Fed%3D2560&security=none&encryption=none&host=21tg.459tj345.workers.dev&type=ws#All-%40V2ray_Alpha-5 vless://[email protected]:80?path=%2Fl%3Fed%3D443ed%3D2560&security=none&encryption=none&host=ELiV2RAY-0.iR.&type=ws#All-%40V2ray_Alpha-6 vless://[email protected]:2095?path=%2F%3Fed%3D2560&security=none&encryption=none&host=21tg.459tj345.workers.dev&type=ws#All-%40V2ray_Alpha-7 vless://[email protected]:2052?path=%2F%3Fed%3D2560&security=none&encryption=none&host=21tg.459tj345.workers.dev&type=ws#All-%40V2ray_Alpha-8 vless://[email protected]:443?security=none&encryption=none&host=archlinux.org&headerType=http&type=tcp#All-%40V2ray_Alpha-9 vless://[email protected]:2198?security=none&encryption=none&headerType=none&type=tcp#All-%40V2ray_Alpha-10 vless://[email protected]:443?path=%2Folem%2Fws%3Fed%3D4096&security=tls&alpn=h2%2Chttp%2F1.1&encryption=none&host=fonmelo.com&fp=edge&type=ws&sni=zmaoz.faculty.ucdavis.edu.#All-%40V2ray_Alpha-11 vless://eyJhZGQiOiIxMDQuMjEuMzIuMSIsImFpZCI6IjAiLCJhbHBuIjoiaHR0cC8xLjEiLCJmcCI6InJhbmRvbWl6ZWQiLCJob3N0IjoiZXpvLmpoYnFtdHd0bS5jb20iLCJpZCI6ImRmZGI0ZmFkLTUzNWUtNDQwOC1hNzRiLTdjM2NlMTE4YmQ0MiIsIm5ldCI6IndzIiwicGF0aCI6IiIsInBvcnQiOiI0NDMiLCJwcyI6IkFsbC1AVjJyYXlfQWxwaGEtMTIiLCJzY3kiOiJhdXRvIiwic25pIjoiZXpvLmpoYnFtdHd0bS5jb20iLCJ0bHMiOiJ0bHMiLCJ0eXBlIjoiLS0tIiwidiI6IjIifQ== vless://eyJhZGQiOiIxMDQuMjEuNjkuNDQiLCJhaWQiOiIwIiwiYWxwbiI6ImgyIiwiZnAiOiJjaHJvbWUiLCJob3N0Ijoic3RoLmhhcHB5Z3JvdW5kLmlyIiwiaWQiOiI2MTcyMTNjMS0yZjQ3LTQyZTQtOGE1Ni04Zjc3MGJmYmUxNjIiLCJuZXQiOiJncnBjIiwicGF0aCI6IjZtSHdxSTFIU1NWdFh4Q3hzaGNWIiwicG9ydCI6IjQ0MyIsInBzIjoiQWxsLUBWMnJheV9BbHBoYS0xMyIsInNjeSI6ImF1dG8iLCJzbmkiOiJzdGguaGFwcHlncm91bmQuaXIiLCJ0bHMiOiJ0bHMiLCJ0eXBlIjoiZ3VuIiwidiI6IjIifQ==♾️نامحدود vless://[email protected]:2198?security=none&encryption=none&headerType=none&type=tcp#WiFi-%40V2ray_Alpha-6 vless://[email protected]:45203?security=none&encryption=none&headerType=none&type=tcp#WiFi-%40V2ray_Alpha-7 vless://[email protected]:2198?security=none&encryption=none&headerType=none&type=tcp#WiFi-%40V2ray_Alpha-8 vless://[email protected]:45147?security=none&encryption=none&host=archlinux.org&headerType=http&type=tcp#WiFi-%40V2ray_Alpha-9 vless://[email protected]:18764?security=none&encryption=none&host=telewebion.com&headerType=http&type=tcp#WiFi-%40V2ray_Alpha-11 vless://[email protected]:2198?security=none&encryption=none&headerType=none&type=tcp#WiFi-%40V2ray_Alpha-12 vless://[email protected]:2198?security=none&encryption=none&headerType=none&type=tcp#WiFi-%40V2ray_Alpha-13

Hashtags

ИМЕТ РАН

@imetras · Post #3174 · 10.10.2024 г., 07:18

Мегаподборка #all уже в вашей ленте✨ Barter X Change Кейс-чемпионат, в котором необходимо прорывное решение для рынка криптовалют. Дедлайн: 20 октября Альфа-Движ Фестиваль от Альфа-Банка с лекциями, на котором студенты находят себя. Дата и место проведения: 16 октября в Санкт-Петербурге Форум «Наука будущего – наука молодых» Мероприятие состоится 29 октября - 01 ноября в Самаре. Дедлайн: 22 октября Именная Стипендия Андрея Мельниченко Возможность выиграть ежемесячную поддержку размером от 5 до 25 тысяч рублей за отличные результаты в учебе и/или прорывные проекты и успехи в научной работе. Дедлайн: 11 октября Excellence Ротационная программа развития по направлению «Торговый маркетинг» в компании JTI. Дедлайн: 20 октября РСХБ Старт Оплачиваемая стажировка в Россельхозбанке по направлениям: маркетинг, экономика и финансы, журналистика, юриспруденция, аналитика, ИТ, HR, менеджмент и др. Дедлайн: не указан ТеДо амбассадоры Участники программы будут представлять ТеДо в социальных сетях, на мероприятиях и в учебных заведениях, рассказывать о наших проектах и расширять возможности развития студентов своего университета. Дедлайн: 20 октября Кадровый резерв Росмолодежи Конкурс на включение в кадровый резерв Федерального агентства по делам молодежи по ведущей группе должностей категории «специалисты». Дедлайн: 23 октября Не забудь поставить🔥 @youthandcareer

Hashtags

电竞交流群 Esports

@hbdj168 · Post #286 · 22.06.2025 г., 08:16

刀塔-PGL 瓦拉几亚 #ALL 对战 GG (BO3) 2025-06-22 15:00 第二局获胜:ALL (重心) 第二局击杀让分:ALL -3.5 第二局击杀大小:大于43.5 第二局比赛时间大小:大于40 第一滴血:ALL 刀塔-PGL 瓦拉几亚 #Tundra 对战 AVULUS (BO3) 2025-06-22 15:00 第二局获胜: AVULUS(4.4楼摸一手) 第二局击杀让分:AVULUS +14.5 (重心) 第二局击杀大小:大于46.5 第二局比赛时间大小:大于37 第一滴血:AVULUS

Hashtags

电竞交流群 Esports

@hbdj168 · Post #281 · 22.06.2025 г., 07:07

刀塔-PGL 瓦拉几亚 #ALL 对战 GG (BO3) 2025-06-22 15:00 第一局获胜:GG 第一局击杀让分:GG+4.5 第一局击杀大小:大于43.5 (重心) 第一局比赛时间大小:大于40 第一滴血:GG 刀塔-PGL 瓦拉几亚 #Tundra 对战 AVULUS (BO3) 2025-06-22 15:00 第一局获胜:Tundra 第一局击杀让分:AVULUS +14.5 (重心) 第一局击杀大小:大于44.5 第一局比赛时间大小:大于37 第一滴血:AVULUS

Hashtags

Анонсы Прогулок/The Walks

@dikieprogulki · Post #643 · 26.12.2023 г., 14:12

#jlm#haifa и вообще-то #all Нам в Иерусалиме некуда было вставить какой-то такой вечер перед Новым годом, когда можно сказать спасибо, потанцевать, немножко вытрясти из себя все тревоги и ужасы года. И мы подумали вставить этот вечер в Хайфу. (Потому что хайфские премьеры забрали наши вечера четвергов, нет-нет, мы не жалуемся, мы восхищаемся). В общем, поговорили с Хайфским театром и с их одобрения зовем всех желающих 28 декабря в 20.00 после спектакля на такую вот общую микро-чеверинку, чтоб поддержать друг друга, и чтоб были силы на следующие месяцы в этом непростом прямо скажем мире. Несите с собой всякие чипсы, соки и нелепые луки! Hanamal 45, Haifa Если кто-то хочет приехать, но далеко и поэтому тревожно, давайте объединяться и ехать вместе.

ЛизаАлерт Питер

@la_piter · Post #680 · 13.09.2022 г., 15:32

#all ВНИМАНИЕ! ВЫЕЗД! #Ушанов В.П., 63 года Сбор 13.09.2022 с 18:40 Место сбора: Парковка ГМ О'кей, Ленинградское ш.12, г. Гатчина Координаты: 59.582729, 30.139900 Одежда: город С собой: Скотч Координатор: Юрий (Бер) Инфорг: Евгения (Люцик) 89633459659 Ася (Кицунэ) 89217629852 Тема на форуме: https://vk.cc/cgxAhF

ЛизаАлерт Питер

@la_piter · Post #653 · 26.08.2022 г., 19:13

#all ВНИМАНИЕ! ВЫЕЗД! #Тытюк Л.С. 82 года Сбор 26.08.2022 с 22:40 Место сбора: проспект Художников, 11Б Координаты: 60.036519, 30.344742 Одежда: город С собой: ориентировки, скотч, фонари Координатор: Юрий (Бер) Инфорг: Надежда (Химера) 89817556296 Тема на форуме: https://lizaalert.org/forum/viewtopic.php?f=120&t=60397

ЛизаАлерт Питер

@la_piter · Post #964 · 30.06.2023 г., 22:49

#all ВНИМАНИЕ! ВЫЕЗД! #Воробьева (Норба) В.А., 85 лет Сбор 01.07.2023 с 02:20 Место сбора: ул. Планерная, 57к1 Координаты: 60.021216, 30.224656 Одежда: город С собой: ориентировки, скотч Координатор: Юрий (BER) Инфорг: Ольга (Пальмира) 89992060242 Тема на форуме: https://lizaalert.org/forum/viewtopic.php?f=120&t=68548&p=628374#p628374

ПретходнаСтраница 1 од 3Следна