@data_stitches · Post #262 · 01.05.2022 г., 17:52
How 'Tucker Carlson Tonight' Fuels Extremism and Fear - 纽约时报分析了超过1150集"Tucker Carlson Tonight",调查揭示卡尔森是如何利用独白和屏幕信息传播种族主义和阴谋论的,其中的数据和视频(音频)交互令人着迷 #ddj
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
Пребарај: #ddj
@data_stitches · Post #262 · 01.05.2022 г., 17:52
How 'Tucker Carlson Tonight' Fuels Extremism and Fear - 纽约时报分析了超过1150集"Tucker Carlson Tonight",调查揭示卡尔森是如何利用独白和屏幕信息传播种族主义和阴谋论的,其中的数据和视频(音频)交互令人着迷 #ddj
Hashtags
@data_stitches · Post #228 · 25.01.2022 г., 15:00
西班牙学生去波兰读书,而德国人去爱尔兰 - 为什么Erasmus交流项目和奖学金援助不足以克服国家和家庭之间的经济不平等#ddj
Hashtags
@data_stitches · Post #201 · 11.12.2021 г., 21:00
可视化1957 年以来23个阿拉伯国家之间进行的所有国际足球比赛 #ddj
Hashtags
@data_stitches · Post #176 · 15.11.2021 г., 20:51
将Taylor Swift原始录音与她的重新录音进行比较,可以在播放时在备用曲目之间切换 #ddj
Hashtags
@data_stitches · Post #162 · 14.11.2021 г., 11:21
半数以上的欧洲国家禁止女同性恋者获得辅助生殖,几乎三分之一的国家禁止单身女性获得辅助生殖 - 无论您是异性恋情侣,还是单身女性还是女性情侣,在欧洲获得辅助生殖都变得越来越复杂,西班牙媒体Civio最新一篇交互可视化帮助人们探索了解欧洲各地关于辅助生育的不同政策和现状 #ddj
Hashtags
@data_stitches · Post #161 · 14.11.2021 г., 11:15
Remembering the 5 million lives lost to Covid-19 - 全世界已经有近 500 万人死于 Covid-19, The Straits Times 设计了花瓣图形的可视化向因此缩短生命的人们致敬 #ddj
Hashtags
@data_stitches · Post #150 · 30.10.2021 г., 22:41
头奖:赌博业如何从政治捐款中获利 - 在过去的 22 年里,与赌博相关的捐助者向澳大利亚政党贡献了超过 8100 万美元 #ddj
Hashtags
@data_stitches · Post #148 · 17.10.2021 г., 22:12
日常性别歧视如何阻止女性获得职业晋升 - 即使一点点的性别偏见,随着时间的推移,几乎没有女性被留在最高管理层 #ddj
Hashtags
@data_stitches · Post #137 · 10.10.2021 г., 19:00
美国郊区在 2020 年转向民主党 - 美国郊区在过去十年里逐渐变蓝、种族更加多样化以及人口增长,这些都会决定民主党是否能保持其微弱的众议院席位 #ddj
Hashtags
@data_stitches · Post #129 · 09.10.2021 г., 11:30
美国的富家子弟正在纽约一些最令人向往的街区悄悄地进行房地产交易,利用为低收入人群提供的税收减免 (by Bloomberg) #ddj
Hashtags
@data_stitches · Post #122 · 08.10.2021 г., 08:13
Afghanistan20 - 意大利在阿富汗的急救医疗组织 EMERGENCY 制作的数据报道,回顾了20年来阿富汗各地医院治疗的数千名战争受害者数据,Accurat 工作室为其制作了可视化 #ddj
Hashtags
@data_stitches · Post #98 · 28.09.2021 г., 23:01
德国联邦选举数据新闻汇总 #ddj 1.Marian Dörk 2.Lisa Charlotte Muth 3.Cédric Scherer
Hashtags