@Aetatesolis · Post #3769 · 26.12.2024 г., 13:21
#monastery#bell#graveyard AETATESOLIS
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #380 · 21 окт.
Регулярно приходится писать и ревьюить код, где используется PySide2-6. Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ. Простой пример с кнопкой: button = QPushButton("Click Me") button.setMinimumWidth(300) button.setFlat(True) button.setStyleSheet("font-size: 20pt") button.setToolTip("Super Button") button.clicked.connect(lambda: print("Button clicked")) Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть) Этот код делает тоже самое но с помощью Property button = QPushButton( "Click Me", minimumWidth=300, flat=True, styleSheet="font-size: 20pt", toolTip="Super Button", clicked=lambda: print("Button clicked"), ) Где это может быть полезно ▫️ Это выглядит более аккуратно и коротко, уже повод использовать ▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка. widget = QWidget(minimumWidth=400) layout = QHBoxLayout(widget) layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight)) layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked"))) widget.show() Либо так widget = QWidget(minimumWidth=400) layout = QHBoxLayout(widget) for wd in ( QLabel("Button >", alignment=Qt.AlignRight), QPushButton("Click Me", clicked=lambda: ...) ): layout.addWidget(wd) widget.show() ▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs. kwargs = {"text": "Hello " * 30, "wordWrap": True} my_label = QLabel(**kwargs) Как получить полный список доступных свойств? Эта функция распечатает в терминал все свойства виджета и их текущие значения def print_widget_properties(widget): meta_object = widget.metaObject() for i in range(meta_object.propertyCount()): property_ = meta_object.property(i) property_name = property_.name() property_value = property_.read(widget) print(f"{property_name}: {property_value}") #tricks#qt
Пребарај: #graveyard
@Aetatesolis · Post #3769 · 26.12.2024 г., 13:21
#monastery#bell#graveyard AETATESOLIS
Hashtags
@xiaomiaogame · Post #3870 · 06.04.2026 г., 14:53
墓园行刑人 墓地处刑者 GRAVEYARD EXECUTIONER 官方中文版 Ver1.0.5 游戏介绍 无论是敌人还是友方都会被无情曼啵的硬核2D横板动作类游戏! 给大家介绍介绍同是青色的游戏,墓园行刑人,发布于21年12月11日,官方中文,依旧是猎奇恐怖,听名字就害怕了。心里素质不高的观众,慎玩啊。 德恰圈套共有“圆锯科罚”、“小便科罚”、“法推利斯的公牛”、“凶特伯姆”、“主动弩”、“火车刑”、“串刑”7种。 此次做品按照配备的兵器,将仇敌的灭亡动绘化! 操作守墓的少女涅维雅拯救被抓走的5位王女而在这残酷的世界展开冒险吧!含有多数拷问要素。使用多种武器“铁锹”、“撬棍”、“手枪”“机关枪”“散弹枪”来攻克舞台吧。 通过获得隐藏在舞台上的技能,探索路线的选择也会扩大。“黑之国”、“废弃的下水道”、“蛭溜之沼墓”、“沸血的屠宰场”等主要区域11个,全程番茄酱爆满,不用动脑,爽着向前冲就完了。 各种r18g场景的设计挺不错的,里面内置的几个小游戏还算挺有意思的,剧情是非常典的复仇故事 评分 作者 #青色ハッキョウダイオード #PC#ACT#动态#重口#官中 #墓园行刑人#墓地处刑者#GRAVEYARD EXECUTIONE 入正地址 下载地址