@RsRamble · Post #570 · 18.06.2024 г., 09:56
捕捉到行走的表情包 x1 迷宫饭的玛露希尔 拍摄于Fantasy Dream D2 (2024-06-08) #dungeonmeshi#deliciousindungeon#ダンジョン飯#marcille#マルシル#cosplay#fantasydream#johorbahru#johor#malaysia
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
Пребарај: #fantasydream
@RsRamble · Post #570 · 18.06.2024 г., 09:56
捕捉到行走的表情包 x1 迷宫饭的玛露希尔 拍摄于Fantasy Dream D2 (2024-06-08) #dungeonmeshi#deliciousindungeon#ダンジョン飯#marcille#マルシル#cosplay#fantasydream#johorbahru#johor#malaysia
@RsRamble · Post #772 · 15.10.2024 г., 08:21
"When you point a blade at someone... You don't get to complain when one is pointed back to you." 客场作战,反而搞来了顶光,2.6m的灯架加1m多的横杆 很巧旁边的dalao那天也是加顶光 试了两张灰片风,还不熟,但流程其实简单 间谍过家家的约尔 Yume ACG Fest D3 (2024-10-13) #yor#yorforger#ヨルフォージャー#spyxfamily#cosplay#anime#animeconvention#fantasydream#fd#yumeacgfest#suteramall#johorbahru#johor#malaysia
@RsRamble · Post #777 · 17.10.2024 г., 06:55
「让我们选择一条永不后悔的路。」 同行的coser之一,不过没有立体机动装置和刀片 再试一次灰片,两边的颜色实在去不掉 进击的巨人的韩吉 Yume ACG Fest D3 (2024-10-13) #hange#hangezoe#ハンジゾエ#aot#attackontitan#shingekinokyojin#進撃の巨人#cosplay#anime#animeconvention#fantasydream#fd#yumeacgfest#suteramall#johorbahru#johor#malaysia