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

Резултати

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

Пребарај: #shelter

当前筛选 #shelter清除筛选
老爹汉化组

@ldlocalization · Post #425 · 01.04.2026 г., 12:30

#SHElter V47 愚人节特供版 嗷呜! 新版本终于来了!这次真的下了不少功夫,不过做的过程很开心,相信你们玩到时也会懂的! 新增内容: 六套全新角色立绘(含完整表情差分) 剧本新增超过一万字 新背景图,并加入了大量背景人物 各种全新、还有点惊喜的音效 修复了一些 bug 和错字,也顺手用X替换了部分Y ……当然,也顺便多出了点新 bug 和错字 希望这次更新你能玩得尽兴!下一次更新——Alon 的“庆祝色色”! 嗷呜~!

Hashtags

老爹汉化组

@ldlocalization · Post #404 · 06.07.2025 г., 05:05

#Shelter v44 命运之夜 更新日志 ——————— PS:中文翻译已同步整合进官方公开版及赞助版,订阅作者Patreon以提前游玩~ PPS:官方Discord服务器现已开放中文专区

Hashtags

老爹汉化组

@ldlocalization · Post #396 · 25.04.2025 г., 15:44

#Shelter v43 中场色色 更新日志 ——————— PS:中文翻译已同步整合进官方公开版及赞助版,订阅作者Patreon以提前游玩~

Hashtags

老爹汉化组

@ldlocalization · Post #388 · 09.02.2025 г., 05:58

#Shelter v42 绑架令 [更新日志] ——————— PS:中文翻译已整合进官方公开版及赞助版 ——————— Update: 2025/02/22 修复Alon线字体缺失问题

Hashtags

老爹汉化组

@ldlocalization · Post #363 · 23.06.2024 г., 02:20

#Shelter v38 "一切都交给我们吧。即使你不在了,我们也会守护好庇护所的。" "但这里永远都是你的家……" "……你也将永远是庇护所不可或缺的一部分。" ——Max 【重要信息:请查看更新说明】

Hashtags

老爹汉化组

@ldlocalization · Post #343 · 30.01.2024 г., 03:23

Awoo!我们的圣诞更新来了! 当然,内容本身与圣诞节完全无关。也不是什么无关紧要的题外话。我之所以称它为 "圣诞特辑",是因为它是在这个特殊的日子里发布的,而且内容本身也很特别。这个场景本来应该在以后的几次更新中继续制作,但我决定现在就把它添加进来,给大家一个不错的年末礼物 <3 另外,在几个月的时间里我一直在制作相当繁重的 Acri 内容,现在能让我暂时休息一下,做点轻松的事情,也是非常不错的。第 37 版以后的内容将着重于完成Max的路线。那将会变得非常狂野! 本次更新的新内容: > 10K 字的新脚本(其中部分内容将在游戏的后半部分出现) > 由 Dangpa 绘制的一组 CG > 其他一些小的额外资产和编辑(包括为新的色情场景制作的非常特别的Cooper审查员~)。 > 修正了一些错误和错别字 本次更新的新场景是游戏后期内容的一部分,因此你需要满足一些要求才能看到它。随着时间的推移,你可以通过完成待办事项任务自然而然地达到这些要求,但为了防止你现在就想要,这里列出了这些要求: 1 - 在清晨场景中,至少见证一次Rune的魔力蛋蛋。基本上,当你在魔力视界中遇到QTE让你打他时,不要打他。 2 - 说服Alon和你一起去浴室至少一次。要做到这一点,你必须在 "清晨晚些时候 "加入 "关于武器的对话",并选择 "越红越好"。然后,在午后与Alon聊天,询问他的性生活,并将该场景进行到底。 3 - 当你重播清晨场景时,你会与Alon有一段新的对话。然后,在中午再进行一次。如果你在中午的时候选择“不干预”,就可以略过一段后直接看最新的场景。 如果你目睹了这一事件,那么在闯关的后期还会有一些变化,但现在这还不是超级重要的额外内容,所以不用担心。 在 Discord 上的 #shelter-chats-spoilers 中分享你的想法! 祝您玩得愉快 圣诞快乐 新年快乐 Awoo! Raus Vuffski 请支持Raus的红P https://www.patreon.com/raus/ 如果你有itch账号,欢迎为庇护所来个五星好评 https://rausmutt.itch.io/sheltervn/ 由于电子Todd沉迷帕鲁,所以这次依旧不是精细翻译,有问题的请反应到discord的bug频道,后期会修复。

Hashtags

123•••78
ПретходнаСтраница 1 од 8Следна