TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

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

Hashtags

Резултати

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

Пребарај: #cfmoto550clc

当前筛选 #cfmoto550clc清除筛选

💥 Китайский апдейт: CFMoto готовит новый круизёр 550CL-C‼️ ✏️ Китайский производитель расширяет линейку круизёров, и судя по утекшим документам, нас ждёт серьёзное обновление. На смену 450CL-C приходит более мощная версия — встречайте CFMoto 550CL-C, дебют которой ожидается в 2027 году. Главное, что нужно знать о новинке: 🔧 Сердце — 526-кубовый параллельный твин. Мотор построен на базе агрегата от 450-й модели, но с увеличенными диаметром цилиндра (с 72 до 74 мм) и ходом поршня (с 55,2 до 61,2 мм). Упор сделан на тягу на низах, что идеально для круизёра. 💪 Прирост мощности — 30%! Вместо 41 л.с. новый двигатель выдает 53 л.с. (39 кВт). Это существенно больше, чем прибавка в объёме (17%), что говорит о новой прошивке и другом характере мотора. Ожидаемый крутящий момент — около 50 Нм. 🏍 Ходовая часть прокачана: появилась алюминиевый маятник (был стальной), из-за чего колёсная база выросла до 1520 мм. Вес увеличился незначительно — до 195 кг. 🎨 Полный рестайлинг: новая фара, бак с накладками на колени, укороченный хвост и другое седло. Общую длину байка (2212 мм) сохранили за счёт более компактной кормы. Вилка и колёса — от младшей модели. ⚙️ В базе — 6-ступенчатая механика, но высока вероятность появления версии с автоматизированной коробкой передач (как у 450CL-C в Китае), позволяющей ездить в полностью автоматическом режиме или переключаться подрулевыми лепестками. 📅 Старт продаж предварительно намечен на 2027 год. Как вам апдейт? Стоит ли игра свеч или 450-й было достаточно? 🔥👎 #CFMoto#CFMoto550CLC#Мотоновинки#Круизер#Мотоциклы2027#КитайскийМотопром