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

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #381 · 23 окт.

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

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

Пребарај: #mersedes

当前筛选 #mersedes清除筛选
Car News

@car_news · Post #276 · 15.07.2024 г., 14:17

Joined a growing AMG family 🚘AMG GT63 Pro 4Matic revealed AMG has already released details about the forthcoming 805-hp plug-in hybrid GT63 SE that will sit at the top of the range in terms of both price and performance. Now here’s another new version, the turned-up and track-focused AMG GT Pro which has been unveiled at the Goodwood Festival of Speed in the U.K. Individual changes over the existing GT63 are small, but the cumulative result is claimed to be a significant improvement in performance when the car is driven on a circuit. The second-generation AMG GT's 4.0-liter V-8 makes peaks of 603 horsepower and 627 pound-feet of torque (850.1 N·m). Enhanced cooling and aerodynamics are the main changes to the car, which also gets standard carbon-ceramic brakes and optional track-biased Cup R tires at no extra cost. According to AMG boss Michael Schiebe, the Pro is well suited to track use but without becoming harsh on-road, "to maintain a high level of day-to-day usability for a car of this type." Deliveries (including pricing) of this 2025 model are expected to start early next year. @CarsNews #Mersedes#AMG#sportscar#hybrid

Автоновости

@avtonovosti · Post #267 · 17.07.2024 г., 08:20

🚘 GT63 Pro 4Matic присоединился к растущему семейству AMG AMG уже публиковала подробную информацию о готовящемся к выпуску 805-сильном гибридном GT63 SE с подключаемым модулем, который будет лидировать в линейке как по цене, так и по производительности. А вот ещё одна новая версия, усовершенствованная и ориентированную на трековые трассы AMG GT Pro, которая была представлена на фестивале скорости в Гудвуде в Великобритании. Отдельные изменения по сравнению с существующим GT63 незначительны, но в целом заявляется, что в результате значительно улучшаются характеристики при движении автомобиля по трассе. 4,0-литровый V-8 AMG GT второго поколения развивает максимальную мощность в 603 лошадиные силы и крутящий момент в 850.1 Нм. Улучшенное охлаждение и аэродинамика – вот основные изменения в автомобиле, который также получил стандартные карбон-керамические тормоза и опциональные шины Cup R без доплаты. По словам босса AMG Михаэля Шибе, Pro хорошо подходит для использования на треках, но при этом не становится слишком жестким на дороге, "чтобы поддерживать высокий уровень повседневного использования автомобиля такого типа". Ожидается, что поставки этой модели 2025 года начнутся в начале следующего года. Тогда же станет известна цена. @avtoNovosti #Mersedes#AMG#спорткар#гибрид