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

Пребарај: #lupin

当前筛选 #lupin清除筛选
爷青回动画分享频道

@Yeqingjie_GJG666 · Post #677 · 17.11.2022 г., 02:22

鲁邦三世 特别剧场版合集(1989-2010) [蓝光收藏版] ◎年 代 1989-2010 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎译 名 鲁邦三世 / ルパン三世 / Lupin III Special ◎简 介 “鲁邦三世”是日本动漫界的传奇,有不死传说之喻,漫画作者加藤一彦(Monkey Punch)曾表示,鲁邦三世的冒险精神是他一生追求的,身为漫画家的他,主要的休闲活动就是创作,所有的梦想、幻想都在“鲁邦三世”实现。猴子拳将鲁邦三世塑造成一个让人无法讨厌的怪盗,让读者羡慕鲁邦三世逍遥的生活。鲁邦一行周游于世界各地,不时重操盗窃的老本行。 大 小:524.8G 标 签:#鲁邦三世#ルパン三世#Lupin#LupinIII#Special#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/8nTqkefFpdC 来自分享者:Beau 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie

爷青回动画分享频道

@Yeqingjie_GJG666 · Post #673 · 12.11.2022 г., 13:43

鲁邦三世 PART4(2015) [BD-rip] ◎年 代 2015 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎豆 瓣 9.3 ◎IMDB tt4129452 ◎译 名 鲁邦三世 意大利的冒险 / ルパン三世 新シリーズ / Lupin III - L'avventura italiana / ◎简 介 “鲁邦三世”是日本动漫界的传奇,有不死传说之喻,漫画作者加藤一彦(Monkey Punch)曾表示,鲁邦三世的冒险精神是他一生追求的,身为漫画家的他,主要的休闲活动就是创作,所有的梦想、幻想都在“鲁邦三世”实现。猴子拳将鲁邦三世塑造成一个让人无法讨厌的怪盗,让读者羡慕鲁邦三世逍遥的生活。鲁邦一行周游于世界各地,不时重操盗窃的老本行。 大 小:36.7G 标 签:#鲁邦三世#鲁邦三世part4#ルパン三世#Lupin#LupinIII#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/Z4RK7iJ7Cvh 来自分享者:yh 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie

爷青回动画分享频道

@Yeqingjie_GJG666 · Post #672 · 11.11.2022 г., 13:09

鲁邦三世 TV版系列2(1977) [BD-rip] ◎年 代 1977 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎豆 瓣 9.3 ◎IMDB tt0159192 ◎译 名 鲁邦三世part2 / ルパン三世 (TV第2シリーズ) / Rupan sansei: Part II / The New Lupin III ◎简 介 黄金大劫案之后5年,鲁邦一伙重又聚首,开始了新的冒险…… 本作为鲁邦三世第二部TV系列,放送于1977年10月3日-1980年10月6日,共计155话,片中鲁邦身着红色外套。这一TV系列的放送,以及期间78年、79年两部剧场版,真正把鲁邦推上了日本国民动画的宝座。 大 小:209.7G 标 签:#鲁邦三世#鲁邦三世part2#ルパン三世#Lupin#LupinIII#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/bymSVH3HVgH 来自分享者:yh 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie

爷青回动画分享频道

@Yeqingjie_GJG666 · Post #671 · 10.11.2022 г., 14:26

鲁邦三世 TV版系列1(1971) [BD-rip] ◎年 代 1971 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎豆 瓣 9.2 ◎IMDB tt0159175 ◎译 名 鲁邦三世part1 / ルパン三世 (TV第1シリーズ) / Lupin the 3rd TV series aka The Green Jacket series ◎简 介 这是《鲁邦三世》(ルパン三世,Lupin III)动画系列的第一部,1971-1972年上映。又称《鲁邦三世之绿夹克系列》(因为片中鲁邦三世的正装为绿色外套),原计划拍摄26话,最终完成23话。据说这是第一部面向非青少年观众的动画作品,因为其中出现较多(相对当时的动画作品而言)暴力,欺诈。而藏在这些背后的则是大量令人捧腹的喜剧成分。本作基于Monkey Punch(加藤一彦)的《鲁邦三世》漫画系列,监督大塚康生,并有宫崎骏等多位后来的动漫重量级人物担任制作班底。本作奠定了整个鲁邦动画系列的基调,后来的鲁邦系列作品还多次从本系列中攫取素材。鲁邦从此进军荧屏,并一跃成为日本国民级动画经典,活跃至今。 大 小:18.1G 标 签:#鲁邦三世#鲁邦三世part1#ルパン三世#Lupin#LupinIII#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/mAMYBYDr8e7 来自分享者:yh 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie