@hkdmovement · Post #7920 · 26.12.2024 г., 02:11
The HKDM team wish everyone a merry Christmas! May glory to Hong Kong! #FreeHK#HKDMovement
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
Пребарај: #hkdmovement
@hkdmovement · Post #7920 · 26.12.2024 г., 02:11
The HKDM team wish everyone a merry Christmas! May glory to Hong Kong! #FreeHK#HKDMovement
Hashtags
@hkdmovement · Post #7923 · 02.01.2025 г., 04:26
The HKDM team wish everyone a happy new year! We wish that all of us will continue fighting until our Hong Kong is back! #fightforfreedom#standwithhongkong#HKDMovement
@hkdmovement · Post #7022 · 17.01.2024 г., 10:40
Jan 16: day 10 of Jimmy Lai's trial. Defense disputes relevance of expert reports to national security charges, while prosecution argues no need to prove Lai's actions caused foreign sanctions. Judge approves expert reports, stating they aid understanding of US actions against Hong Kong and whether they constitute "sanctions, blockades, or other hostile actions" under the National Security Law. Trial continues with the testimony of an accomplice witness. It seems that the prosecution lacks a direct witness to support their accusations. Instead, they have relied on expert reports to present their case. The absence of a witness raises questions about the strength of the prosecution's evidence. #FreeJimmyLai#freepoliticalprisoners#FreeHongKong#HKDMovement
@hkdmovement · Post #7211 · 10.02.2024 г., 04:32
Wish everyone a happy Lunar New Year! Bring glory back to Hong Kong in the year of dragon! #HKDMovement #glorytoHongKong #lunarnewyear #standwithhongkong