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

Резултати

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

Пребарај: #allcare

当前筛选 #allcare清除筛选

Если вы приобретали нашу продукцию, обращали ли Вы внимание на надпись "Sensitive" или "All-care"? В чем же разница между этими двумя линейками? В этом посте вы узнаете, чем они отличаются и какую лучше выбрать именно для Вас! Если Вы хотите узнать больше о нашем бренде или у вас возникли вопросы - напишите под постом и мы с радостью ответим на ваши вопросы #sensitive#allcare#mayeri ——————- Agar siz bizning mahsulotlarimizni sotib olgan bo'lsangiz, "sensitive" yoki "All-care" yozuviga e'tibor berdingizmi? Bu ikki qator o'rtasidagi farq nima? Ushbu postda siz ular qanday farq qilishini va qaysi birini tanlash yaxshiroq ekanligini bilib olasiz! Agar siz bizning brendimiz haqida ko'proq bilmoqchi bo'lsangiz yoki savollaringiz bo'lsa - post ostida yozing va biz sizning savollaringizga javob berishdan mamnun bo'lamiz. #sensitive#allcare#mayeri

🤔Почему среди всех моющих и чистящих средств для дома нужно выбрать именно бренд Mayeri? 😊В этом посте мы немного расскажем о преимуществах ЭКО продукции MAYERI. 👉Кстати, для наших покупателей в онлайн магазине uzum.uz действуют очень привлекательные скидки. Спешите закупиться пока они действуют #mayeri#eco#brand#sensitive#allcare ——————— 🤔 Nima uchun uy yuvish vositalari va tozalash vositalari orasida Mayeri brendini tanlash kerak? 😊Ushbu postda MAYERI ECO mahsulotlarining foydalari haqida bir oz gaplashamiz. 👉 Aytgancha, uzum.uz internet-do‘konida mijozlarimiz uchun juda jozibali chegirmalar mavjud. Ular davom etguncha shoshiling #mayeri#eco#brand#sensitive#allcare