@MV_Kpop · Post #6456 · 07.06.2021 г., 12:30
GHOST9 - Up All Night • 1080P HD #Ghost9@MV_Kpop
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
Пребарај: #ghost9
@MV_Kpop · Post #6456 · 07.06.2021 г., 12:30
GHOST9 - Up All Night • 1080P HD #Ghost9@MV_Kpop
Hashtags
@MV_Kpop · Post #6337 · 21.03.2021 г., 16:47
GHOST9 - SEOUL • 1080P HD #Ghost9@MV_Kpop
Hashtags
@MV_Kpop · Post #6336 · 21.03.2021 г., 16:47
GHOST9 - W.ALL • 1080P HD #Ghost9@MV_Kpop
Hashtags
@MV_Kpop · Post #6335 · 21.03.2021 г., 16:46
GHOST9 - Think of Dawn • 1080P HD #Ghost9@MV_Kpop
Hashtags
@bubbletealuv · Post #2251 · 01.02.2024 г., 21:00
Шин [Ghost9] 💦💦💦 🍙установить пак🍙 ㅤㅤㅤㅤㅤㅤㅤPLEASE BOOST tag - #Shin#Ghost9#kpop
@bubbletealuv · Post #1853 · 15.12.2023 г., 14:23
Кансон [Ghost9] 🫑🫑🫑 🐼установить пак🐼 tag - #Kangsung#Ghost9#kpop
@bubbletealuv · Post #1851 · 13.12.2023 г., 20:15
Шин [Ghost9] 🥒🥒🥒 🌹установить пак🌹 tag - #Shin#Ghost9#kpop
@bubbletealuv · Post #1855 · 15.12.2023 г., 18:47
Джину [Ghost9] 🥕🥕🥕 🦕установить пак🦕 tag - #Jinwoo#Ghost9#kpop
@bubbletealuv · Post #1854 · 15.12.2023 г., 17:52
Принц [Ghost9] 🌽🌽🌽 🍘установить пак🍘 tag - #Prince#Ghost9#kpop
@bubbletealuv · Post #1852 · 15.12.2023 г., 14:00
Ли Уджин [Ghost9] 🌶️🌶️🌶️ ⛄️установить пак⛄️ tag - #LeeWoojin#Ghost9#kpop
Hashtags
@bubbletealuv · Post #1850 · 13.12.2023 г., 19:59
Джунсон [Ghost9] 🥬🥬🥬 🍉установить пак🍉 tag - #Junseong#Ghost9#kpop